macro DEFINE_PROPERTYKEY (propkeydef.h)
Utilisé pour emballer un identificateur de format (FMTID) et un identificateur de propriété (PID) dans une structure PROPERTYKEY qui représente une clé de propriété.
Syntaxe
void DEFINE_PROPERTYKEY(
name,
l,
w1,
w2,
b1,
b2,
b3,
b4,
b5,
b6,
b7,
b8,
pid
);
Paramètres
name
Nom d’une structure PROPERTYKEY qui représente une clé de propriété.
l
Valeur du membre Data1 du membre fmtid de la structure PROPERTYKEY .
w1
Valeur du membre Data2 du membre fmtid de la structure PROPERTYKEY .
w2
Valeur du membre Data3 du membre fmtid de la structure PROPERTYKEY .
b1
Valeur du membre Data4[0] du membre fmtid de la structure PROPERTYKEY .
b2
Valeur du membre Data4[1] du membre fmtid de la structure PROPERTYKEY .
b3
Valeur du membre Data4[2] du membre fmtid de la structure PROPERTYKEY .
b4
Valeur du membre Data4[3] du membre fmtid de la structure PROPERTYKEY .
b5
Valeur du membre Data4[4] du membre fmtid de la structure PROPERTYKEY .
b6
Valeur du membre Data4[5] du membre fmtid de la structure PROPERTYKEY .
b7
Valeur du membre Data4[6] du membre fmtid de la structure PROPERTYKEY .
b8
Valeur du membre Data4[7] du membre fmtid de la structure PROPERTYKEY .
pid
Identificateur de propriété (PID). Il est recommandé de définir cette valeur sur PID_FIRST_USABLE. Toute valeur supérieure ou égale à 2 est acceptable.
Valeur de retour
None
Remarques
La macro DEFINE_PROPERTYKEY est définie comme suit.
#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
Lorsque vous utilisez cette macro, vous disposez de deux options :
- Incluez Initguid.h dans votre projet. Dans ce cas, la macro déclare les noms des clés de propriété et définit les clés de propriété pour vous. Cette approche fonctionne dans la plupart des cas, mais peut provoquer des collisions de noms dans des projets complexes et de grande envergure.
- N’incluez pas Initguid.h. Au lieu de cela, compilez vos définitions dans un fichier de bibliothèque statique qui a l’extension de nom de fichier .lib. Dans ce cas, la macro déclare les noms de clés de propriété que le compilateur doit utiliser, mais vous devez référencer votre fichier .lib dans les paramètres de l’éditeur de liens pour votre projet. Cette approche fonctionne mieux dans les grands projets qui utilisent plusieurs modules, car elle évite les collisions de noms mentionnées dans l’option 1.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | propkeydef.h |