Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die tatsächlichen Eigenschaften folgen der Tabelle der Eigenschaften "Property Identifiers/Offset Pairs"-Eigenschaftssatzwerte. Jede Eigenschaft wird als DWORD-gespeichert, gefolgt vom Datentypwert.
Typindikatoren und die zugehörigen Werte werden in der PROPVARIANT Struktur beschrieben.
Alle Typ-/Wert-Paare müssen auf einer 32-Bit-Grenze beginnen. Daher können Werte mit Nullbytes gefolgt werden, um das nachfolgende Paar an einer 32-Bit-Grenze auszurichten.
Im folgenden Beispielcode wird berechnet, wie viele Bytes für die Ausrichtung an einer 32-Bit-Grenze erforderlich sind, wenn eine Anzahl von Bytes angegeben ist.
cbAdd = (((cbCurrent + 3) >> 2) << 2) - cbCurrent ;
Innerhalb eines Wertevektors muss jede Wiederholung eines einfachen skalaren Werts, der kleiner als 32 Bit ist, an der natürlichen Ausrichtung ausgerichtet sein, anstatt mit einer 32-Bit-Ausrichtung. In der Praxis ist dies nur für Typen VT_UI1, VT_UI2, VT_I2und VT_BOOL (die eine byte- oder zweibyte natürliche Ausrichtung aufweisen) wichtig. Alle anderen Typen weisen eine natürliche Ausrichtung mit vier Byte auf. Einige Typen, z. B. VT_R8, weisen tatsächlich eine natürliche 8-Byte-Ausrichtung auf, werden jedoch so gespeichert, als ob sie vier Byte-Ausrichtung haben.
Ein Eigenschaftswert mit typindikator VT_I2 | VT_VECTOR würde Folgendes umfassen:
- Eine DWORD- Elementanzahl.
- Eine Sequenz von gepackten Ganzzahlen mit zwei Byte ohne Nullabstand dazwischen.
Wichtig
Alle 32-Bit-Anzahlen oder Eigenschaftstypen, die als Teil eines Vektoreigenschaftselements gespeichert sind, müssen ebenfalls 32-Bit ausgerichtet sein.
Ein Eigenschaftswert des Typbezeichners VT_LPSTR | VT_VECTOR umfassen:
- Eine DWORD Elementanzahl (DWORDcElems).
- Eine Abfolge von Zeichenfolgen (Zeichenrgch[]), jede vor einer Längenanzahl DWORD- und möglicherweise gefolgt von NULL-Abstand, um auf eine 32-Bit-Grenze zu runden.