DEFINE_PROPERTYKEY Makro (propkeydef.h)
Wird verwendet, um einen Formatbezeichner (FMTID) und einen Eigenschaftsbezeichner (PID) in eine PROPERTYKEY-Struktur zu packen, die einen Eigenschaftsschlüssel darstellt.
Syntax
void DEFINE_PROPERTYKEY(
name,
l,
w1,
w2,
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
pid
);
Parameter
name
Der Name einer PROPERTYKEY-Struktur , die einen Eigenschaftsschlüssel darstellt.
l
Der Wert des Data1-Elements des fmtid-Elements der PROPERTYKEY-Struktur .
w1
Der Wert des Data2-Elements des fmtid-Elements der PROPERTYKEY-Struktur .
w2
Der Wert des Data3-Elements des fmtid-Elements der PROPERTYKEY-Struktur .
b1
Der Wert des Data4[0] -Elements des fmtid-Elements der PROPERTYKEY-Struktur .
b2
Der Wert des Data4[1] -Elements des fmtid-Elements der PROPERTYKEY-Struktur .
b3
Der Wert des Data4[2] -Members des fmtid-Elements der PROPERTYKEY-Struktur .
b4
Der Wert des Data4[3] -Elements des fmtid-Elements der PROPERTYKEY-Struktur .
b5
Der Wert des Data4[4] -Elements des fmtid-Elements der PROPERTYKEY-Struktur .
b6
Der Wert des Data4[5] -Elements des fmtid-Elements der PROPERTYKEY-Struktur .
b7
Der Wert des Data4[6] -Elements des fmtid-Elements der PROPERTYKEY-Struktur .
b8
Der Wert des Data4[7] -Elements des fmtid-Elements der PROPERTYKEY-Struktur .
pid
Ein Eigenschaftsbezeichner (PID). Es wird empfohlen, diesen Wert auf PID_FIRST_USABLE festzulegen. Jeder Wert größer oder gleich 2 ist akzeptabel.
Rückgabewert
Keine
Bemerkungen
Das makro DEFINE_PROPERTYKEY wird wie folgt definiert.
#ifdef INITGUID
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
EXTERN_C const PROPERTYKEY DECLSPEC_SELECTANY name = \
{ { l, w1, w2, { b1, b2, b3, b4, b5, b6, b7, b8 } }, pid }
#else
#define DEFINE_PROPERTYKEY(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8, pid) \
EXTERN_C const PROPERTYKEY name
#endif // INITGUID
Wenn Sie dieses Makro verwenden, stehen Ihnen zwei Optionen zur Auswahl:
- Schließen Sie Initguid.h in Ihr Projekt ein. In diesem Fall deklariert das Makro die Eigenschaftenschlüsselnamen und definiert die Eigenschaftenschlüssel für Sie. Dieser Ansatz funktioniert in den meisten Fällen, kann jedoch zu Namenskonflikten in großen, komplexen Projekten führen.
- Schließen Sie Initguid.h nicht ein. Kompilieren Sie Stattdessen Ihre Definitionen in eine statische Bibliotheksdatei mit der Dateinamenerweiterung .lib. In diesem Fall deklariert das Makro die Eigenschaftenschlüsselnamen, die der Compiler verwenden soll, aber Sie müssen in den Linkereinstellungen für Ihr Projekt auf Ihre LIB-Datei verweisen. Dieser Ansatz funktioniert am besten in großen Projekten, die mehrere Module verwenden, da er die in Option 1 erwähnten Namenskonflikte vermeidet.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | propkeydef.h |