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.