Storing Information with System Objects

One of the most common current uses of persistent properties is to use them to store information about a system object, such as a document, with that object. There is, of course, the potential of storing properties with any object, such as a printer, so it would only be necessary to look at its properties to determine its location, its type, and so on. A user object could have a property set that includes information like First Name, Last Name, Office, and Phone. Applications can be written to query a system-wide set of objects based on their properties, for example, displaying all printers located in a certain building. Current systems, however, most frequently use properties on documents.

The primary property set standard that COM has defined is the Summary Information property set. This property set is both simple and commonly used. Most documents created by applications have a common set of attributes that are useful to users of those documents. These attributes include the name of the document's author, the subject of the document, when it was created, and so on. Two other property sets are defined for Office95. These are the COM Document Summary property set and the User-Defined Properties property set, and are described in more detail in OLE Serialized Property Set Format.

In Windows 3.1, each application had a different way of storing this information within its documents. To examine the summary information for a given document, the user had to run the application that created the document, open it, and invoke the application's Summary Information dialog box, so only the application could display its summary information.

COM property sets and the property set interfaces make it possible to see a document's properties without running the creating application. For example, Microsoft Word 6.0 and many other COM-enabled applications now save their documents using COM structured storage and the property set standard described here. Thus, applications other than Word 6.0 are able to display the summary information property set for such a file, as long as that file is an COM structured storage file, and the creating application saved the information in the COM Property Set format. The Windows 95 shell, for example, takes advantage of this, and allows the end user to see the properties of any Word 6.0 document directly from the shell.

To take advantage of property sets from other applications, the other applications must understand how to interpret the properties within a property set, which implies a standard. COM has pioneered this approach by defining one standard property set, the COM Summary Information Property Set. Any application that has the definition of this property set can easily access the summary information contained in any document created by an COM application that uses that property set specification.

The following section describes the Summary Information property set as an example of property set definition.