Секция
Раздел является третьей частью потока набора свойств и содержит фактические значения набора свойств.
Раздел содержит следующее:
- Число байтов для раздела, включающего сам число байтов.
- Массив 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 ;