Section

Раздел является третьей частью потока набора свойств и содержит фактические значения набора свойств.

Раздел содержит:

  • Число байтов для раздела, включающего само число байтов.
  • Массив пар идентификатора и смещения 32-разрядных свойств.
  • Массив пар "Индикаторы/значение" типа свойства.

Смещения — это расстояние от начала раздела до начала пары свойств (тип, значение). Это позволяет скопировать раздел в виде массива байтов без какого-либо преобразования внутренней структуры.

Следующие псевдоструктуры иллюстрируют формат раздела.

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 property 
} PROPERTYIDOFFSET; 
 
typedef struct tagSERIALIZEDPROPERTYVALUE 
{ 
    DWORD  dwType;    // Property Type 
    BYTE   rgb[];     // Property Value 
} SERIALIZEDPROPERTYVALUE ;