2.3.3.2.2.1 PIDDSI

Specifies the list of properties that can be defined in the Document Summary Information property set (section 2.3.3.2.2). This set MUST NOT contain a Dictionary property ([MS-OLEPS] section 2.18.1). All properties are optional, except the GKPIDDSI_CODEPAGE property (section 2.3.3.2.2.1) which MUST be written if the Document Summary Information property set (section 2.3.3.2.2) 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 GKPIDDSI_CODEPAGE property. If the string properties are persisted as Lpwstr (section 2.3.3.1.6) type properties, the GKPIDDSI_CODEPAGE property MUST be set to CP_WINUNICODE (0x04B0). No order in persistence of 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 type and description. The type specifies the format of the Property field of the PropertySet structure ([MS-OLEPS] section 2.20) for the given property.

Name

Value

Meaning

GKPIDDSI_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.

GKPIDDSI_CATEGORY

0x00000002

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies a category name for the document.

GKPIDDSI_PRESFORMAT

0x00000003

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the presentation format type of the document. MAY be ignored.<28> MUST be one of the following values:

  • Empty string

  • On-screen Show<29>

  • On-screen Show (4:3)<30>

  • Letter Paper (8.5x11 in)

  • Ledger Paper (11x17 in)

  • A3 Paper (297x420 mm)

  • A4 Paper (210x297 mm)

  • B4 (ISO) Paper (250x353 mm)

  • B5 (ISO) Paper (176x250 mm)

  • B4 (JIS) Paper (257x364 mm)

  • B5 (JIS) Paper (182x257 mm)

  • Hagaki Card (100x148 mm)

  • 35mm Slides

  • Overhead

  • Banner

  • Custom

  • On-screen Show (16:9)<31>

  • On-screen Show (16:10)<32>

GKPIDDSI_BYTECOUNT

0x00000004

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

GKPIDDSI_LINECOUNT

0x00000005

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The integer value of the property specifies an estimate of the number of text lines in the document. MAY be ignored.<34>

GKPIDDSI_PARACOUNT

0x00000006

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

GKPIDDSI_SLIDECOUNT

0x00000007

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The integer value of the property specifies the number of slides in the document. MAY be ignored.<37>

GKPIDDSI_NOTECOUNT

0x00000008

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The integer value of the property specifies the number of notes in the document. MAY be ignored.<38>

GKPIDDSI_HIDDENCOUNT

0x00000009

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The integer value of the property specifies the number of hidden slides in the document. MAY be ignored.<39>

GKPIDDSI_MMCLIPCOUNT

0x0000000A

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The integer value of the property specifies the number of multimedia clips in the document. MAY be ignored.<40>

GKPIDDSI_SCALE

0x0000000B

MUST be a VT_BOOL TypedPropertyValue ([MS-OLEPS] section 2.15) property. The value of the property MUST be FALSE.

GKPIDDSI_HEADINGPAIR

0x0000000C

MUST be a VtVecHeadingPair property (section 2.3.3.1.15). Each VtHeadingPair element (section 2.3.3.1.13) in VtVecHeadingPair.vtValue.rgHeadingPairs defines a heading string and a count of document parts as found in the GKPIDDSI_DOCPARTS property (section 2.3.3.2.2.1) to which this heading applies. The total sum of document counts for all headers in this property MUST be equal to the number of elements in the GKPIDDSI_DOCPARTS property (section 2.3.3.2.2.1) property.

GKPIDDSI_DOCPARTS

0x0000000D

MUST be a VtVecUnalignedLpstr (section 2.3.3.1.10) or VtVecLpwstr property (section 2.3.3.1.8). Each string element of the vector specifies a part of the document. The elements of this vector are ordered according to the header they belong to as defined in the GKPIDDSI_HEADINGPAIR property (section 2.3.3.2.2.1).

Example: The first element of the heading pair vector indicates that it has four document parts associated with it. Elements 1 to 4 of the document parts vector are grouped under this header. The next element of the heading pair vector indicates that it has three document parts associated with it. The document part vector elements 5 to 7 are grouped under this header, and so on.

GKPIDDSI_MANAGER

0x0000000E

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the manager associated with the document.

GKPIDDSI_COMPANY

0x0000000F

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the company associated with the document’s authoring.

GKPIDDSI_LINKSDIRTY

0x00000010

MUST be a VT_BOOL TypedPropertyValue ([MS-OLEPS] section 2.15) property. The property value specifies TRUE (any value other than 0x00000000) if any of the values for the linked properties in the User Defined Property Set (section 2.3.3.2.3) have changed outside of the application, which would require the application to update the linked fields on document load.<41>

GKPIDDSI_CCHWITHSPACES

0x00000011

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. The integer value of the property specifies an estimate of the number of characters in the document, including whitespace. MAY be ignored.<42>

GKPIDDSI_SHAREDDOC

0x00000013

MUST be a VT_BOOL TypedPropertyValue ([MS-OLEPS] section 2.15) property. The property value MUST be FALSE (0x00000000).

GKPIDDSI_LINKBASE

0x00000014

MUST NOT be written. The base URL property is persisted to the User Defined Property Set (section 2.3.3.2.3) with the _PID_LINKBASE property name.

GKPIDDSI_HLINKS

0x00000015

MUST NOT be written. The hyperlinks property is persisted to the User Defined Property Set (section 2.3.3.2.3) with the _PID_HLINKS property name.

GKPIDDSI_HYPERLINKSCHANGED

0x00000016

MUST be a VT_BOOL TypedPropertyValue ([MS-OLEPS] section 2.15) property. The property value specifies TRUE (any value other than 0x00000000) if the _PID_HLINKS property in the User Defined Property Set (section 2.3.3.2.3) has changed outside of the application, which would require the application to update the hyperlink on document load.<43>

GKPIDDSI_VERSION

0x00000017

MUST be a VT_I4 TypedPropertyValue ([MS-OLEPS] section 2.15) property. Specifies the version of the application that wrote the property set storage. The two high-order bytes specify an unsigned integer specifying the major version number. The two low-order bytes specify an unsigned integer specifying the minor version number. The value MUST have the major version number set to a nonzero value, and the minor version number SHOULD be 0x0000. The minor version number MAY be set to the minor version number of the application that wrote the property set storage.<44>

GKPIDDSI_DIGSIG

0x00000018

MUST be a VtDigSig property (section 2.3.3.1.17). VtDigSig.vtValue specifies the data of the VBA digital signature for the VBA project embedded in the document. MUST NOT exist if the VBA project of the document does not have a digital signature or if the project is absent. MAY be ignored.<45>

GKPIDDSI_CONTENTTYPE

0x0000001A

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the content type of the file. MAY be absent.<46>

GKPIDDSI_CONTENTSTATUS

0x0000001B

MUST be a VtString property (section 2.3.3.1.11). VtString.stringValue specifies the document status. MAY be absent.<47>

GKPIDDSI_LANGUAGE

0x0000001C

MUST be a VtString property (section 2.3.3.1.11). SHOULD be absent.<48>

GKPIDDSI_DOCVERSION

0x0000001D

MUST be a VtString property (section 2.3.3.1.11). SHOULD be absent.<49>