The Summary Information Property Set

OLE defines a standard common property set for storing summary information about documents. The Summary Information property set must be stored in an IStream instance off of the root storage object; it is not valid to store the property set in the “Contents” stream of a named IStorage instance.

For example, to create an ANSI simple property set, you would call IPropertySetStorage::Create to create the property set, specifying PROPSETFLAG_ANSI (simple is the default mode), then write to it with a call to IPropertyStorage::WriteMultiple. To read the property set, you would call IPropertyStorage::ReadMultiple.

All shared property sets are identified by a stream or storage name with the prefix “\005” (or 0x05) to show it is a property set shareable among applications, and the Summary Information property set is no exception. The name of the stream that contains the Summary Information property set is:

"\005SummaryInformation" 
 

The FMTID for the Summary Information property set is:

  F29F85E0-4FF9-1068-AB91-08002B27B3D9 
 

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

DEFINE_GUID(FormatID_SummaryInformation, 0xF29F85E0, 0x4FF9, 0x1068, 0xAB, 0x91, 0x08, 0x00, 0x2B, 0x27, 0xB3, 0xD9); 
 

On an Intel byte-ordered machine, the FMTID has the following representation:

  E0 85 9F F2 F9 4F 68 10 AB 91 08 00 2B 27 B3 D9 
 

The following table shows the string property names for the Summary Information property set, along with the respective property identifiers and VT type indicators.

Property Name

Property ID String

Property ID

VT Type

Title

PID_TITLE

0x00000002

VT_LPSTR

Subject

PID_SUBJECT

0x00000003

VT_LPSTR

Author

PID_AUTHOR

0x00000004

VT_LPSTR

Keywords

PID_KEYWORDS

0x00000005

VT_LPSTR

Comments

PID_COMMENTS

0x00000006

VT_LPSTR

Template

PID_TEMPLATE

0x00000007

VT_LPSTR

Last Saved By

PID_LASTAUTHOR

0x00000008

VT_LPSTR

Revision Number

PID_REVNUMBER

0x00000009

VT_LPSTR

Total Editing Time

PID_EDITTIME

0x0000000A

VT_FILETIME (UTC)

Last Printed

PID_LASTPRINTED

0x0000000B

VT_FILETIME (UTC)

Create Time/Date (*)

PID_CREATE_DTM

0x0000000C

VT_FILETIME (UTC)

Last saved Time/Date (*)

PID_LASTSAVE_DTM

0x0000000D

VT_FILETIME (UTC)

Number of Pages
Number of Words
Number of Characters

PID_PAGECOUNT
PID_WORDCOUNT
PID_CHARCOUNT

0x0000000E
0x0000000F
0x00000010

VT_I4
VT_I4
VT_I4

Thumbnail

PID_THUMBNAIL

0x00000011

VT_CF

Name of Creating Application

PID_APPNAME

0x00000012

VT_LPSTR

Security

PID_SECURITY

0x00000013

VT_I4

* Some methods of file transfer (such as a download from a BBS) do not maintain the file system’s version of this information correctly.