macro IID_PPV_ARGS (combaseapi.h)
Utilisé pour récupérer un pointeur d’interface, fournissant automatiquement la valeur IID de l’interface demandée en fonction du type du pointeur d’interface utilisé. Cela évite une erreur de codage courante en vérifiant le type de la valeur passée au moment de la compilation.
Syntaxe
void IID_PPV_ARGS(
ppType
);
Paramètres
ppType
Adresse d’un pointeur d’interface dont le type T est utilisé pour déterminer le type d’objet demandé. La macro retourne le pointeur d’interface via ce paramètre.
Valeur de retour
None
Remarques
Une syntaxe courante dans les méthodes qui récupèrent un pointeur d’interface (notamment QueryInterface et CoCreateInstance) comprend deux paramètres :
- Paramètre [in], normalement de type REFIID, pour spécifier l’IID de l’interface à récupérer.
- Paramètre [out], normalement de type void**, pour recevoir le pointeur d’interface.
Bien que Windows 7 soit la première inclusion de cette macro dans un en-tête public, elle peut être utilisée sur des systèmes plus anciens en la définissant manuellement dans les en-têtes de votre projet ou le code source.
L’exemple suivant montre l’utilisation de IID_PPV_ARGS pour créer l’objet de magasin de propriétés mémoire à l’aide d’IPropertyStore.
IPropertyStore *pPropertyStore;
CoCreateInstance(CLSID_PropertyStore, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pPropertyStore));
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 7 [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 R2 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | combaseapi.h |