2.3.3.2.3.3 Linked Properties

The specification for a simple OLE property set storage as specified in [MS-OLEPS] specifies that properties contained in a property set storage can be named, when that property set storage contains the special Dictionary property. As specified previously, the User Defined property set (section 2.3.3.2.3) MUST contain a Dictionary property, and all properties of the property set except those that are special properties as specified in [MS-OLEPS] section 2.18 have names. However, the properties in this property set, excluding the special properties and Reserved Properties (section 2.3.3.2.3.2), can also be linked, meaning they receive their value from document content instead of from explicit value assignment.

A link for any property that allows it, if applicable, MUST be specified by creating an additional entry in the property set that is unnamed (that is, does not have an associated entry in the Dictionary property table). The PropertyIdentifier ([MS-OLEPS] section 2.19) for an entry created for this purpose is equal to its associated property’s PropertyIdentifier combined with the value 0x01000000 by using the bitwise OR operation.

A property’s link entry MUST be in VtString (section 2.3.3.1.11) format.

The presence of such an associated link for a given property specifies that the property, when written, MUST generate its value from the document content to which it is linked.<71> On document load, pursuant to the specification of the GKPIDDSI_LINKSDIRTY property flag (section 2.3.3.2.2.1), the application MUST update the linked document content in accordance with the new value of any linked property that was changed outside of the application.