The following tables show the relationship between sharing and accessing RIFF compound files and elements within those files, both within the current process and between processes. The following scenarios are presented:
A indicates that the function is allowed. Both the access and sharing values must be A for the open to work. For example, in the CF Open - CF Open of the same process, if the first CF Open is RO - DW, then the next CF Open must be RO - DW. Any access other than RO fails. Any sharing other than DW also will fail.
Abbreviations of access modes are:
Abbreviations for sharing modes are:
Element Opened Again ┌┬─────────────────┬┬───────────────────────┐ Element ││ Access ││ Sharing │ Opened ││ RO WO RW ││ DR DW DN EX │ ┌──────────┼┼─────┬─────┬─────┼┼─────┬─────┬─────┬─────┤ │RO - DR ││ X │ A │ X ││ X │ A │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DW ││ A │ X │ X ││ X │ A │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DN ││ A │ A │ A ││ X │ A │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DR ││ X │ A │ X ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DW ││ A │ X │ X ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DN ││ A │ A │ A ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DR ││ X │ A │ X ││ A │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DW ││ A │ X │ X ││ A │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DN ││ A │ A │ A ││ A │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ └──────────┴┴─────┴─────┴─────┴┴─────┴─────┴─────┴─────┘ Any Process ──────────────
Elements Opened ┌┬─────────────────┬┬───────────────────────┐ ││ Access ││ Sharing │ CF Opened ││ RO WO RW ││ DR DW DN EX │ ┌──────────┼┼─────┬─────┬─────┼┼─────┬─────┬─────┬─────┤ │RO - DR ││ A │ X │ X ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DW ││ A │ X │ X ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DN ││ A │ X │ X ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - EX ││ A │ X │ X ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DR ││ A │ A │ A ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DW ││ A │ A │ A ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DN ││ A │ A │ A ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - EX ││ A │ A │ A ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DR ││ X │ A │ X ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DW ││ X │ A │ X ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DN ││ X │ A │ X ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - EX ││ X │ A │ X ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ └──────────┴┴─────┴─────┴─────┴┴─────┴─────┴─────┴─────┘ Same Process ──────────────
Fully Qualified Element Open ──────────────────────────── ┌┬─────────────────┬┬───────────────────────┐ ││ Access ││ Sharing │ CF Opened ││ RO WO RW ││ DR DW DN EX │ ┌──────────┼┼─────┬─────┬─────┼┼─────┬─────┬─────┬─────┤ │RW - DN ││ A │ A │ A ││ A │ A │ A │ A │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ └──────────┴┴─────┴─────┴─────┴┴─────┴─────┴─────┴─────┘
CF Opened Again ┌┬─────────────────┬┬───────────────────────┐ ││ Access ││ Sharing │ CF Opened ││ RO WO RW ││ DR DW DN EX │ ┌──────────┼┼─────┬─────┬─────┼┼─────┬─────┬─────┬─────┤ │RO - DR ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DW ││ A │ X │ X ││ X │ A │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DN ││ A │ X │ X ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DR ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DW ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DN ││ X │ X │ A ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DR ││ X │ A │ X ││ A │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DW ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DN ││ X │ A │ X ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ └──────────┴┴─────┴─────┴─────┴┴─────┴─────┴─────┴─────┘ Same Process ──────────────
Element Opened (different process) ┌┬─────────────────┬┬───────────────────────┐ ││ Access ││ Sharing │ CF Opened ││ RO WO RW ││ DR DW DN EX │ ┌──────────┼┼─────┬─────┬─────┼┼─────┬─────┬─────┬─────┤ │RO - DR ││ X │ A │ X ││ X │ A │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DW ││ A │ X │ X ││ X │ A │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DN ││ A │ A │ A ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DR ││ X │ A │ X ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DW ││ A │ X │ X ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DN ││ A │ A │ A ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DR ││ X │ A │ X ││ A │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DW ││ A │ X │ X ││ A │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DN ││ A │ A │ A ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ └──────────┴┴─────┴─────┴─────┴┴─────┴─────┴─────┴─────┘
CF Opened Again ┌┬─────────────────┬┬───────────────────────┐ ││ Access ││ Sharing │ CF Opened ││ RO WO RW ││ DR DW DN EX │ ┌──────────┼┼─────┬─────┬─────┼┼─────┬─────┬─────┬─────┤ │RO - DR ││ X │ A │ X ││ X │ A │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DW ││ A │ X │ X ││ X │ A │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - DN ││ A │ A │ A ││ X │ A │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RO - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DR ││ X │ A │ X ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DW ││ A │ X │ X ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - DN ││ A │ A │ A ││ X │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │RW - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DR ││ X │ A │ X ││ A │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DW ││ A │ X │ X ││ A │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - DN ││ A │ A │ A ││ A │ X │ A │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ │WO - EX ││ X │ X │ X ││ X │ X │ X │ X │ ├──────────┼┼─────┼─────┼─────┼┼─────┼─────┼─────┼─────┤ └──────────┴┴─────┴─────┴─────┴┴─────┴─────┴─────┴─────┘ Different Process ───────────────────