Seção
A seção é a terceira parte do fluxo do conjunto de propriedades e contém os valores reais do conjunto de propriedades.
Uma seção contém:
- Contagem de bytes para a seção que inclui a contagem de bytes em si.
- Matriz de pares ID/Deslocamento de Propriedade de 32 bits.
- Matriz de pares indicadores/valor de tipo de propriedade.
Os deslocamentos são a distância do início da seção até o início do par da propriedade (tipo, valor). Isso permite que uma seção seja copiada como uma matriz de bytes sem qualquer tradução de estrutura interna.
As pseudoestrusões a seguir ilustram o formato de uma seção.
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 ;