2.3.3.2.3.2 Reserved Properties

The User Defined property set (section 2.3.3.2.3) has a number of names that are reserved for specific data. These names MUST only be used to specify the data for which the names are reserved. All of these properties are optional and can be absent. The reserved names and the data they specify are as specified in the following tables.

Reserved name

Format and description

_PID_GUID

MUST be a VT_BLOB TypedPropertyValue ([MS-OLEPS] section 2.15) property. SHOULD NOT be written.<50> MUST be ignored if encountered on read. The Size field of the BLOB data (specified in [MS-OLEPS] section 2.9) specifies the count of bytes for a null-terminated Unicode string stored in the Bytes field of the BLOB excluding any padding. If Size is 0, no data is written for the Bytes field and the property value MUST be treated as an empty string. Size MUST be even. The property data MUST be padded to a multiple of 4 bytes, but the contents of the padding are undefined and MUST be ignored. The property specifies a unique GUID, as specified in [MS-DTYP], which specifies the identifier for the document. MUST NOT be linked.

_PID_LINKBASE

MUST be a VT_BLOB TypedPropertyValue ([MS-OLEPS] section 2.15) property. The Size field of the BLOB data (specified in [MS-OLEPS] section 2.9) specifies the number of bytes for a null-terminated Unicode string stored in the Bytes field of the BLOB excluding any padding. If Size is 0, no data is written for the Bytes field and the property value MUST be treated as an empty string. Size MUST be even. The property data MUST be padded to a multiple of 4 bytes, but the contents of the padding are undefined and MUST be ignored. The property specifies the base URL for relative hyperlinks in the document. MUST NOT be linked.

_PID_HLINKS

MUST be a VtHyperlinks property (section 2.3.3.1.21). Specifies a list of hyperlinks contained in the document. MUST NOT be linked.

_MarkAsFinal

MUST be a VT_BOOL TypedPropertyValue ([MS-OLEPS] section 2.15) property. If the property exists and the value is true, this specifies that the document is the final draft. MAY be ignored.<51>

Microsoft Theme

MUST be a VtString property (section 2.3.3.1.11). Specifies the name of the most recent theme applied to the document. MAY be ignored.<52>

Presentation

MUST be a VtString property (section 2.3.3.1.11). If the presentation document is created by using the first slide loaded from a slide library, this property in the created document specifies the document name that the first slide originated from. MAY be ignored.<53>

SlideDescription

MUST be a VtString property (section 2.3.3.1.11). If the presentation document is created by using the first slide loaded from a slide library, this property in the created document specifies a description of the slide that was used. MAY be ignored.<54>

_AllowSignedDocumentWithoutReadOnly

MUST be a VT_BOOL TypedPropertyValue ([MS-OLEPS] section 2.15) property. If present and the value is true it specifies that the document that contains a document signature, as specified in [MS-OFFCRYPTO] section 2.5, and would otherwise be opened as read-only MUST instead be opened with both read and write permissions. MAY be ignored.<55>

_TemplateID

MUST be a VtString property (section 2.3.3.1.11). The value of this property can be used to open a Help topic that corresponds to the template. MAY be ignored.<56>

The format of the VtString.stringValue.value field of this property, if it exists, MUST conform to the following ABNF [RFC5234] representation:

 _TemplateID   = "TC" TemplateID LCID %x00
 TemplateID    = 8(DIGIT)
 LCID          = 4(DIGIT)

TemplateID: Specifies the unique identifier of the template that was used to create the document.

LCID: Specifies the LCID of the template that was used to create the document.

<DIGIT> is defined in [RFC5234] Appendix B.

The following properties are associated with document workspace management. All of these properties MAY be ignored.<57>

Reserved name

Format and description

_SourceUrl

MUST be a VtString property (section 2.3.3.1.11). Specifies the URL of the source document on a server for a working copy of that document that is opened from a server document workspace.

_CheckOutSrcUrl

MUST be a VtString property. Specifies the URL of the document workspace from which the document was checked out. The length of the property value string MUST be less than or equal to 256 characters, including the terminating NULL character.<58>

_LiveCopyIndex

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. Specifies a time stamp for comparing the current state of a server document to a local copy of that document. The value MUST be generated by taking the modified date-time of the document file as a FILETIME data type ([MS-DTYP] section 2.3.3), multiplying the high-order 4-byte unsigned integer of the modified date-time by 3, and adding the low-order 4-byte unsigned integer of the modified date-time, producing a 4-byte unsigned integer hash value that is the value of the property.

The value of this property can be used to resolve potential conflicts between two different copies of a document stored in a document workspace. If this property value of a particular document is the same as the modified date-time of that document file, hashed as described previously, the document MUST be considered to be equivalent to the original shared version of the file on the document workspace. If one of any two copies of a document is the original shared version and the two copies of the document differ, then the other document MUST be considered newer.

_SharedFileIndex

_SharedFileIndex1

_SharedFileIndexN

MUST be a VtString property. If the length of the property value exceeds 255 characters, excluding the terminating NULL character, then it MUST be segmented into multiple properties, each no larger than 255 characters plus a terminating NULL character. If segmented, each segment MUST be a property of the VtString type and MUST be null-terminated. Each segment except for the last MUST contain 255 characters of the value, with the last containing all remaining characters. The first segment MUST be named "_SharedFileIndex", and each successive segment MUST be named with an incremental index after this root name—so the second chunk would be named "_SharedFileIndex1", the third "_SharedFileIndex2", the eleventh "_SharedFileIndex10", and so on.

The reconstructed value of the property specifies the workspace to which the document belongs. The value SharedFileIndexValue is formatted according to the following ABNF [RFC5234] representation:

O15FileFormatDefinitions\shared\SumInfo\SharedFileIndexGrammar.abnf

VersionNumber: An optional field. If present it MUST be "0000020000000000" and is a reserved value.

GUID: MUST be a GUID, as specified in [MS-DTYP], which specifies a unique identifier for the document.

URL: Specifies the URL of the requested location of the file on the document workspace. If the location is already occupied by a document with a different GUID, the document could be relocated.

The following properties are associated with smart document solutions.

Reserved name

Format and description

Solution ID

MUST be a VtString property. It specifies the identifier<59> for the associated smart document solution. This property can be used to check whether the specified smart document solution is already installed and, if so, use the existing solution information to determine if the solution needs to be updated. If it is not previously installed, the solution is installed based on the value of the "Solution URL" property. MAY be ignored<60>. For more information about smart documents, see [MSDN-SDO]. The length of the property’s VtString.stringValue.value field MUST be less than or equal to 51 characters, including the terminating NULL character.

Solution URL

MUST be a VtString property. It specifies the path to an XML expansion pack manifest file, which defines the contents of the smart document solution associated with the document. MAY be ignored<61>. For more information about XML expansion pack manifest files, see [MSDN-SDO]. The length of the property’s VtString.stringValue.value field MUST be less than or equal to 256 characters, including the terminating NULL character.

Solution Template ID

MUST be a VtString property. It specifies the identifier of a document template installed as part of the XML expansion pack. This property is used to ensure that the local copy of the document template installed as part of the XML expansion pack is updated when the document template referenced by the manifest file is updated. MAY be ignored<62>. For more information about XML expansion pack manifest files, see [MSDN-SDO]. The length of the property’s VtString.stringValue.value field MUST be less than or equal to 256 characters, including the terminating NULL character.

Other Solution ID

MUST be a VtString property. It specifies the identifier<63> of a solution of type 'other' installed as a part of a XML expansion pack. For more information about XML expansion pack and types of solutions, see [MSDN-SDO]. This property is used when the solution itself does not affect the document behavior but it can be used to check if the referenced solution needs to be updated whenever the document is loaded. MAY be ignored<64>. The length of the property’s VtString.stringValue.value field MUST be less than or equal to 51 characters, including the terminating NULL character.

The following properties are associated with managed code document add-in solutions<65>. For more information about managed code document add-in solutions, see [MSDN-AVSTOS]. These properties MUST both exist if present.

Reserved name

Format and description

_AssemblyLocation

_AssemblyLocation0

_AssemblyLocation1

_AssemblyLocationN

MUST be a VtString property. If the length of the property value exceeds 255 characters, excluding the terminating NULL character, then it MUST be segmented into multiple properties, each no larger than 255 characters plus a terminating NULL character. If segmented, each segment MUST be a property of the VtString type and MUST be null-terminated. Each segment except for the last MUST contain 255 characters of the value, with the last containing all remaining characters.

If not segmented, the property name MUST be "_AssemblyLocation" or "_AssemblyLocation0".

If segmented, the property segment names are generated by taking the root name "_AssemblyLocation" and appending the string representation of the decimal numbers 0, 1, 2, and so on.

Therefore, the first segment MUST be named "_AssemblyLocation0", the second "_AssemblyLocation1", the eleventh "_AssemblyLocation10", and so on.

The reconstructed value of the property specifies the path to be used to locate the managed assembly file specified by the "_AssemblyFile" property.

MAY be ignored.<66>

_AssemblyFile

_AssemblyFile0

_AssemblyFile1

_AssemblyFileN

MUST be a VtString property. If the length of the property value exceeds 255 characters, excluding the terminating NULL character, then it MUST be segmented into multiple properties, each no larger than 255 characters plus a terminating NULL character. If segmented, each segment MUST be a property of the VtString type and MUST be null-terminated. Each segment except for the last MUST contain 255 characters of the value, with the last containing all remaining characters.

If not segmented, the property name MUST be "_AssemblyFile" or "_AssemblyFile0".

If segmented, the property segment names are generated by taking the root name "_AssemblyFile" and appending the string representation of the decimal numbers 0, 1, 2, and so on.

Therefore, the first segment MUST be named "_AssemblyFile0", the second "_AssemblyFile1", the eleventh "_AssemblyFile10", and so on.

The reconstructed value of the property specifies the file name of the managed assembly file containing the code for the document add-in solution.

MAY be ignored.<67>

The following properties specify information about a document that has been sent by using email, either for review or as an attachment, from an author to a reviewer or from a reviewer back to the author. These properties MAY be ignored.<68>

Reserved name

Format and description

_ReviewCycleID

MUST be a VT_I4 TypedPropertyValue property ([MS-OLEPS] section 2.15). Specifies a unique identifier for a document that was sent for review.

_TentativeReviewCycleID

MUST be a VT_I4 TypedPropertyValue property ([MS-OLEPS] section 2.15). Specifies a unique identifier for a document that was sent for review. If this property and the "_ReviewCycleID" property both exist in a document, then they MUST have the same value.

_ReviewingToolsShownOnce

MUST be a VtString property. MUST have a value of "", the empty string. Specifies that the client application has opened the document that was sent for review.

_NewReviewCycle

MUST be a VtString property. MUST have a value of "", the empty string. Specifies that the document was sent as an attachment or for review. MAY be ignored.<69>

_AuthorEmail

MUST be a VtString property. Specifies the email address from which the document was sent. The length of the property’s VtString.stringValue.value field MUST be less than or equal to 256 characters, including the terminating NULL character.

_AuthorEmailDisplayName

MUST be a VtString property. Specifies the display name of the email address from which the document was sent. The length of the property’s VtString.stringValue.value field MUST be less than or equal to 256 characters, including the terminating NULL character.

_EmailSubject

MUST be a VtString property. Specifies the subject of the email message with which the document was sent. The length of the property’s VtString.stringValue.value field MUST be less than or equal to 256 characters, including the terminating NULL character.

_AdHocReviewCycleID

MUST be a VT_I4 TypedPropertyValue property ([MS-OLEPS] section 2.15). Specifies a unique identifier for reviewing a document that was sent as an attachment.

_PreviousAdHocReviewCycleID

MUST be a VT_I4 TypedPropertyValue property ([MS-OLEPS] section 2.15). Specifies a unique identifier for reviewing a document that was sent as an attachment. SHOULD be ignored.<70> MAY be changed if the "_AdHocReviewCycleID" property was present when the document was opened; then the value of the "_PreviousAdHocReviewCycleID" property when the document is again sent as an attachment MUST be the same as the original value of "_AdHocReviewCycleID".

_EmailStoreID

_EmailStoreID0

_EmailStoreID1

_EmailStoreIDN

MUST be a VtString property. Specifies an identifier of the email server of the reviewer who is returning the document to the author. If the length of the property’s VtString.stringValue.value field exceeds 255 characters, excluding the terminating NULL character, then it MUST be segmented into multiple properties, each no larger than 255 characters plus a terminating NULL character. If segmented, each segment MUST be a property of the VtString type and MUST be null-terminated. Each segment except for the last MUST contain 255 characters of the value, with the last containing all remaining characters. The name of each segment MUST be the base property name appended with the ASCII character whose value is equal to the value of the character ‘0’ plus one less than the ordinal of the segment; hence, the first segment MUST be named "_EmailStoreID0", the second "_EmailStoreID1", the eleventh "_EmailStoreID10", and so on.

_EmailEntryID

_EmailEntryID0

_EmailEntryID1

_EmailEntryIDN

MUST be a VtString property. Specifies an identifier of the email message of the reviewer who is returning the document to the author. If the length of the property’s VtString.stringValue.value field exceeds 255 characters, excluding the terminating NULL character, then it MUST be segmented into multiple properties, each no larger than 255 characters plus a terminating NULL character. If segmented, each segment MUST be a property of the VtString type and MUST be null-terminated. Each segment except for the last MUST contain 255 characters of the value, with the last containing all remaining characters. The name of each segment MUST be the base property name appended with the ASCII character whose value is equal to the value of the character ‘0’ plus one less than the ordinal of the segment; hence, the first segment MUST be named "_EmailEntryID0", the second "_EmailEntryID1", the eleventh "_EmailEntryID10", and so on.

Associated properties with sensitivity labels are specified in [MS-OI29500] section 2.1.31.