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.