Structure of Property Sets

Property sets are made up of a tagged section of values, with the section uniquely identified by a Format Identifier (FMTID). Every property consists of a property identifier and a type indicator that represents a value. Each value stored in a property set has a unique property identifier that names the property. The type indicator describes the representation of the data in the value. For example, if a specific property in a property set holds an animal's scientific name, that name could be stored as a zero-terminated string. Stored along with the name would be a type indicator to indicate the value is a zero-terminated string. The representation of properties is shown below:

Property Identifier
Type Indicator
Value Represented
Zero-terminated string

Any application that recognizes the property set format can look at the property with an ID of PID_ANIMALNAME, determine it is a zero-terminated string, and read and write the value. Of course, the given application might not have any information about the property. The standard structure defined by OLE for property sets is generic as it relates to the semantics of the properties being represented; it says nothing about what they mean.

Each property set can have a dictionary associated with it to provide a displayable name for each property ID in the set. An application can read and write this dictionary and can allow end users to choose the displayable names for property IDs.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples