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