OLE Property Set

OLE Property Set is a Microsoft serialization and metadata format. It does not typically appear in a file by itself, but is used in some file formats, especially formats based on Microsoft Compound File format.

Disambiguation
OLE Property Set Storage is a particular kind of Microsoft Compound File that contains Property Sets. OLE Structured Storage apparently means something similar, or it might refer to the related APIs and ecosystem.

Format details
Each property is identified by a coded integer, but (with a few exceptions) the codes are not unique. Each property set has an "FMTID" field containing a GUID, which must be taken into account to make sense or the properties. Some FMTIDs and their associated properties are defined in the main specification, but for most you must look elsewhere.

Though the format implies that big-endian byte order could be possible, the modern specification only allows little-endian byte order.

Identification
A Property Set usually begins with bytes.

This field is named "ByteOrder", but be careful. While it resembles a UTF-16 Byte Order Mark, it works in the exact opposite way.

Related formats

 * In a Microsoft Compound File, some streams contain an OLE Property Set.
 * In a JPEG file, some FPXR segments contain an OLE Property Set.
 * TIFF tag 37680 contains an embedded OLE Property Set Storage document.

Specifications

 * &#x5b;MS-OLEPS&#x5d;: Object Linking and Embedding (OLE) Property Set Data Structures
 * Microsoft Docs: Predefined Property Set Format Identifiers