Abschnitt
Der Abschnitt ist der dritte Teil des Eigenschaftensatzdatenstroms und enthält die tatsächlichen Eigenschaftssatzwerte.
Ein Abschnitt enthält:
- Byteanzahl für den Abschnitt, der einschließlich der Byteanzahl selbst ist.
- Array von 32-Bit-Eigenschaften-ID/Offset-Paaren.
- Array von Eigenschaftstypindikatoren/Wertpaaren.
Offsets sind der Abstand vom Anfang des Abschnitts zum Anfang des Eigenschaftspaars (Typ, Wert). Dadurch kann ein Abschnitt ohne Übersetzung der internen Struktur als Bytearray kopiert werden.
Die folgenden Pseudostrukturen veranschaulichen das Format eines Abschnitts.
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 ;