Section

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 ;