The Summary Information Property Set

COM defines a standard common property set for storing summary information about documents. The Summary Information property set must be stored in a stream object. That is, this property set must be stored as a simple property set. For more information, see Storage and Stream Objects for a Property Set.

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 type of property set), 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 that it is a property set that can be shared among applications. The Summary Information property set is no exception. The name of the stream that contains the Summary Information property set is: "\005SummaryInformation"

It is not necessary to know the stream name of the property set when accessing it by means of the Create or Open methods of the IPropertySetStorage interface; in this case only the format identifier (FMTID) need be known. The FMTID for the Summary Information property set is: F29F85E0-4FF9-1068-AB91-08002B27B3D9

The declaration for this value is available in the header file as FMTID_SummaryInformation. For more information, see the FMTIDS in the Predefined Property Set Format Identifiers.

The following table lists the string property names for the Summary Information property set, along with the respective property identifiers and variable type (VT) indicators. The names are not typically stored in the property set, but are inferred from the Property ID value. The Property ID String entries shown here correspond to definitions found in the header files.

Name Property ID string Property ID VT type
Title PIDSI_TITLE 0x00000002 VT_LPSTR
Subject PIDSI_SUBJECT 0x00000003 VT_LPSTR
Author PIDSI_AUTHOR 0x00000004 VT_LPSTR
Keywords PIDSI_KEYWORDS 0x00000005 VT_LPSTR
Comments PIDSI_COMMENTS 0x00000006 VT_LPSTR
Template PIDSI_TEMPLATE 0x00000007 VT_LPSTR
Last Saved By PIDSI_LASTAUTHOR 0x00000008 VT_LPSTR
Revision Number PIDSI_REVNUMBER 0x00000009 VT_LPSTR
Total Editing Time PIDSI_EDITTIME 0x0000000A VT_FILETIME (UTC)
Create Time/Date (see note below) PIDSI_CREATE_DTM 0x0000000C VT_FILETIME (UTC)
Last saved Time/Date (see note below) PIDSI_LASTSAVE_DTM 0x0000000D VT_FILETIME (UTC)
Number of Pages PIDSI_PAGECOUNT 0x0000000E VT_I4
Number of Words PIDSI_WORDCOUNT 0x0000000F VT_I4
Number of Characters PIDSI_CHARCOUNT 0x00000010 VT_I4
Thumbnail PIDSI_THUMBNAIL 0x00000011 VT_CF
Name of Creating Application PIDSI_APPNAME 0x00000012 VT_LPSTR
Security PIDSI_SECURITY 0x00000013 VT_I4


For Create Time/Date and Last saved Time/Date, some methods of file transfer, such as a download from a BBS, do not maintain the file system version of this information correctly.

Implementing the Summary Information Property Set