3.2.1 Document Summary Information Stream Overview

The following table contains the beginning part of a Document Summary Information stream. There are two FilePointers (section 2.2.1.5) in this section that point to a Document Summary Information property set (section 2.3.3.2.2) and a User Defined property set (section 2.3.3.2.3), respectively.

Offset

Size

Structure

Value

00000000

06B8

PropertySetStream - DocumentSummaryInfoStream

00000000

0044

    Stream header - PropertySetStream

00000000

0002

        WORD - byteOrder

0xFFFE

00000002

0002

        WORD - version

0x0000

00000004

0004

        PropertySetSystemIdentifier - sysId

00000004

0001

            BYTE - OSMajorVersion

0x05

00000005

0001

            BYTE - OSMinorVersion

0x01

00000006

0002

            WORD - OSType

0x0002

00000008

0010

        GUID - applicationClsid

00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00000018

0004

        DWORD - cSections

0x00000002

0000001C

0028

        Array of identifier and offset - rgIdOffset

0000001C

0014

            Identifier and offset - IdOffsetElement-1

0000001C

0010

                GUID - formatId

02 D5 CD D5 9C 2E 1B 10 93 97 08 00 2B 2C F9 AE

0000002C

0004

                FilePointer - sectionOffset

0x00000044

00000030

0014

            Identifier and offset - IdOffsetElement-2

00000030

0010

                GUID - formatId

05 D5 CD D5 9C 2E 1B 10 93 97 08 00 2B 2C F9 AE

00000040

0004

                FilePointer - sectionOffset

0x00000298

00000044

0254

    A: PropertySet - DocumentSummaryInformation

00000298

0420

    B: PropertySet - UserDefinedProperties

Figure 15: Overview of a DocumentSummaryInfoStream

DocumentSummaryInfoStream: This is an example of the PropertySetStream as described in [MS-OLEPS] section 2.21.

PropertySetStream.byteOrder: 0xFFFE is a reserved value.

PropertySetStream.version: 0x0000 is the version number of the property set.

PropertySetStream.sysId.OSMajorVersion: 0x05 indicates that the major version of the operating system that created the file is 5.

PropertySetStream.sysId.OSMinorVersion: 0x01 indicates that the minor version of the operating system that created the file is 1.

PropertySetStream.sysId.OSType: 0x0002 is a reserved value.

PropertySetStream.applicationClsid: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 is the CLID_NULL. It is a reserved value.

PropertySetStream.cSections: 0x00000002 indicates that this instance of a Document Summary Information stream contains two property sets, the Document Summary Information property set (section 2.3.3.2.2) and the User Defined property set (section 2.3.3.2.3).

PropertySetStream.rgIdOffset.IdOffsetElement-1: The first element in the rgIdOffset array.

PropertySetStream.rgIdOffset.IdOffsetElement-1.formatId: 02 D5 CD D5 9C 2E 1B 10 93 97 08 00 2B 2C F9 AE is the FMTID_DocSummaryInformation. It indicates that the associated sectionOffset points to a Document Summary Information property set (section 2.3.3.2.2).

PropertySetStream.rgIdOffset.IdOffsetElement-1.sectionOffset: 0x00000044 indicates that the beginning of the Document Summary Information property set (section 2.3.3.2.2) is 0x00000044 bytes after the beginning of the Document Summary Information stream. In this example, DocumentSummaryInfoStream begins at offset 0x00000000. Therefore, the Document Summary Information property set (section 2.3.3.2.2) begins at offset 0x00000044. See Document Summary Information Property Set Overview (section 3.2.2) for an example of this.

PropertySetStream.rgIdOffset.IdOffsetElement-2: The second element in the rgIdOffset array.

PropertySetStream.rgIdOffset.IdOffsetElement-2.formatId: 05 D5 CD D5 9C 2E 1B 10 93 97 08 00 2B 2C F9 AE is the FMTID_UserDefinedProperties. It indicates that the associated sectionOffset points to a User Defined property set (section 2.3.3.2.3).

PropertySetStream.rgIdOffset.IdOffsetElement-2.sectionOffset: 0x00000298 indicates that the beginning of the User Defined property set (section 2.3.3.2.3) is 0x00000298 bytes after the beginning of the Document Summary Information stream. In this example, DocumentSummaryInfoStream begins at offset 0x00000000. Therefore, the User Defined property set (section 2.3.3.2.3) begins at offset 0x00000298. See User Defined Property Set Overview (section 3.2.3) for an example of this.