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 ;