The DocumentSummaryInformation Property Set

The Microsoft Office Summary Information properties are stored in a separate stream from the standard Summary Information properties. The standard Summary Information property set is described in the section entitled “The Summary Information Property Set” under “Using Property Sets”. The name of the stream that contains the Document Summary Information is:

"\005DocumentSummaryInformation"
 

The FMTID for the Microsoft Office Summary Information property set is:

    D5CDD502-2E9C-101B-9397-08002B2CF9AE
 

Use the DEFINE_GUID macro to define the FMTID for the property set:

DEFINE_GUID(FMTID_DocumentSummaryInformation, 0xD5CDD502L, 0x2E9C, 
0x101B, 0x93, 0x97, 0x08, 0x00, 0x2B, 0x2C, 0xF9, 0xAE);
 

This stream also has a separate section for the custom-defined properties. The format id for the section is

DEFINE_GUID(FMTID_UserDefinedProperties, 0xD5CDD505L, 0x2E9C, 0x101B, 
0x93, 0x97, 0x08, 0x00, 0x2B, 0x2C, 0xF9, 0xAE);
 

The following table shows the added properties to the “DocumentSummaryInformation” stream for Office 95 applications.

Property Name

Property ID String

Property ID

VT Type

Category

PID_CATEGORY

0x00000002

VT_LPSTR

PresentationTarget

PID_PRESFORMAT

0x00000003

VT_LPSTR

Bytes

PID_BYTECOUNT

0x00000004

VT_I4

Lines

PID_LINECOUNT

0x00000005

VT_I4

Paragraphs

PID_PARCOUNT

0x00000006

VT_I4

Slides

PID_SLIDECOUNT

0x00000007

VT_I4

Notes

PID_NOTECOUNT

0x00000008

VT_I4

HiddenSlides

PID_HIDDENCOUNT

0x00000009

VT_I4

MMClips

PID_MMCLIPCOUNT

0x0000000A

VT_I4

ScaleCrop

PID_SCALE

0x0000000B

VT_BOOL

HeadingPairs

PID_HEADINGPAIR

0x0000000C

VT_VARIANT | VT_VECTOR

TitlesofParts

PID_DOCPARTS

0x0000000D

VT_LPSTR | VT_VECTOR

Manager

PID_MANAGER

0x0000000E

VT_LPSTR

Company

PID_COMPANY

0x0000000F

VT_LPSTR

LinksUpTo Date

PID_LINKSDIRTY

0x00000010

VT_BOOL

These properties have the following uses:

Category
A text string typed by the user indicating what category the file belongs to (memo, proposal etc.). It is useful for finding files of same type.
PresentationTarget
Target format for presentation (35mm, printer, video etc.), from PowerPoint.
Bytes
Number of bytes, from AFX.
Lines
Number of lines, from AFX.
Paragraphs
Number of paragraphs, from AFX.
Slides
Number of slides, from PowerPoint
Notes
Number of pages that contain notes, from PowerPoint
HiddenSlides
Number of slides that are hidden, from PowerPoint
MMClips
Number of sound or video clips, from PowerPoint
ScaleCrop
Set to True (-1) when scaling of the thumbnail is desired. If not set, cropping is desired. FindFile 2.0 needs this.
HeadingPairs

Internally used property indicating the grouping of different document parts and the number of items in each group. The titles of the document parts are stored in the PID_DOCPARTS property. The HeadingPairs property is stored as a vector of variants, in repeating pairs of VT_LPSTR and VT_I4 values. The VT_LPSTR value represents a heading name, and the VT_I4 value indicates the count of document parts under that heading. This property is used for providing the indentation for different groups on the 'sections' page.

TitlesofParts
Names of document parts, from AFX. For Excel this is sheet names, for PowerPoint this is slide titles, for a binder this is document names, for Word it is the names of the documents in the master document.
Manager
Manager of the project, from Project.
Company
Company name, from Project.
LinksUpToDate
Bool to indicate whether the custom links are dirty, for all applications.

Note As described in “12.3. Serialized Format for Property Sets” of the OLE 2.0 Design Specification, vector elements in the HeadingPairs and TitlesofParts properties should be aligned on 32 bit boundaries. However, in the DocumentSummaryInformation property set, when the code page of the property set is not Unicode, these elements must be packed.