2.3.3.2.1.1 PIDSI

Specifies the list of properties that can be defined in the Summary Information property set (section 2.3.3.2.1). This set MUST NOT contain a Dictionary property ([MS-OLEPS] section 2.18.1). All properties are optional, except the GKPIDSI_CODEPAGE property which MUST be written if the Summary Information property set (section 2.3.3.2.1) is present. All persisted string type properties (Lpstr (section 2.3.3.1.4), UnalignedLpstr (section 2.3.3.1.5), and Lpwstr (section 2.3.3.1.6)) MUST share the same code page encoding as specified by the GKPIDSI_CODEPAGE property. If the string properties are persisted as Lpwstr (section 2.3.3.1.6) type properties, the GKPIDSI_CODEPAGE property MUST be set to CP_WINUNICODE (0x04B0). No order in persistence of the properties is enforced. All properties are persisted as TypedPropertyValue types as specified in [MS-OLEPS] section 2.15, except where indicated otherwise for the purpose of additional clarification or deviation from the specification.

The Value column of the following table specifies the value of the PropertyIdentifier field for the PropertyIdentifierAndOffset structure ([MS-OLEPS] section 2.19) for the specified property.

The Meaning column of the following table specifies the property data type and the property’s meaning. The property data type specifies the format of the Property field of the PropertySet structure ([MS-OLEPS] section 2.20) for the given property.

Name

Value

Meaning

GKPIDSI_CODEPAGE

0x00000001

MUST be a VT_I2 TypedPropertyValue [MS-OLEPS] section 2.15) property. MUST conform to the CodePage property requirements as specified in [MS-OLEPS] section 2.18.2.

GKPIDSI_TITLE

0x00000002

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the document title.

GKPIDSI_SUBJECT

0x00000003

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the document subject.

GKPIDSI_AUTHOR

0x00000004

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the document author.

GKPIDSI_KEYWORDS

0x00000005

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the document keywords.

GKPIDSI_COMMENTS

0x00000006

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies comments corresponding to the document.

GKPIDSI_TEMPLATE

0x00000007

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the name of the template on which the document is based.

GKPIDSI_LASTAUTHOR

0x00000008

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the name of the author who last modified the document.

GKPIDSI_REVNUMBER

0x00000009

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the revision number for the document. MUST be the string representation of a non-negative whole number.

GKPIDSI_EDITTIME

0x0000000A

MUST be a VT_FILETIME TypedPropertyValue ([MS-OLEPS] section 2.15) property. The value of the property does not specify a date and time as would be typical of the FILETIME data type ([MS-DTYP] section 2.3.3), but instead specifies duration. The value specifies the total time that the document has been opened for edit (in hundreds of nanoseconds).

GKPIDSI_LASTPRINTED

0x0000000B

MUST be a VT_FILETIME TypedPropertyValue ([MS-OLEPS] section 2.15) property. The value of the property specifies the date and time the document was last printed, in UTC time.

GKPIDSI_CREATE_DTM

0x0000000C

MUST be a VT_FILETIME TypedPropertyValue ([MS-OLEPS] section 2.15) property. The value of the property specifies the date and time the document was created, in UTC time.

GKPIDSI_LASTSAVE_DTM

0x0000000D

MUST be a VT_FILETIME TypedPropertyValue ([MS-OLEPS] section 2.15) property. The value of the property specifies the date and time the document was last saved, in UTC time.

GKPIDSI_PAGECOUNT

0x0000000E

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The integer value of the property specifies the page count of the document. MAY be ignored.<24>

GKPIDSI_WORDCOUNT

0x0000000F

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The integer value of the property specifies an estimate or an exact count of the words in the document.<25> MAY be ignored. <26>

GKPIDSI_CHARCOUNT

0x00000010

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The integer value of the property specifies an estimate of the character count of the document. MAY be ignored.<27>

GKPIDSI_THUMBNAIL

0x00000011

MUST be a VtThumbnail property (section 2.3.3.1.3). VtThumbnail.vtValue.cfDataBytes specifies the data that represents the thumbnail image for the document.

GKPIDSI_APPNAME

0x00000012

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the name of the application that produced the document.

GKPIDSI_DOC_SECURITY

0x00000013

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The value of the property specifies a bit field that details security properties of the document as follows:

  • If the value is equal to SECURITY_NONE (0x00000000), there are no security states specified by the property.

  • If the SECURITY_PASSWORD bit is set (0x00000001), the document MUST be password protected.

  • If the SECURITY_READONLYRECOMMEND bit is set (0x00000002), it specifies that opening the document read-only is recommended but not enforced.

  • If the SECURITY_READONLYENFORCED bit is set (0x00000004), it specifies that the document is opened read-only.

  • If the SECURITY_LOCKED bit is set (0x00000008), it specifies that the document is opened read-only except for annotations.