Section

This is the third part of the property set stream, as shown in Figure C.2. A section contains:

  • byte count for the section (which is inclusive of the byte count itself)

  • count of the property values in the section

  • array of 32-bit Property ID/Offset pairs

  • array of property Type Indicators/Value pairs

Offsets are the distance from the start of the section to the start of the property (type, value) pair. This allows a section to be copied as an array of bytes without any translation of internal structure.

The following pseudo-structures illustrate the format of a section:

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 that property

} PROPERTYIDOFFSET;

typedef struct tag SERIALIZEDPROPERTYVALUE

{

DWORD dwType; // Property Type

BYTE rgb[]; // Property Value

} SERIALIZEDPROPERTYVALUE ;

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples