This is the third part of the property set stream, as shown in Figure C.2. A section contains:
Offsets are the distance from the start of the section to the start of the property (type, value) pair. This allows a section to be copied as an array of bytes without any translation of internal structure.
The following pseudo-structures illustrate the format of a section:
typedef struct tagPROPERTYSECTIONHEADER
{
DWORD cbSection ; // Size of Section
DWORD cProperties ; // Count of Properties in section
} PROPERTYSECTIONHEADER;
typedef struct tagPROPERTYIDOFFSET
{
DWORD propid; // Name of property
DWORD dwOffset; // Offset from start of section to that property
} PROPERTYIDOFFSET;
typedef struct tag SERIALIZEDPROPERTYVALUE
{
DWORD dwType; // Property Type
BYTE rgb[]; // Property Value
} SERIALIZEDPROPERTYVALUE ;