macro IID_PPV_ARGS (combaseapi.h)
Se usa para recuperar un puntero de interfaz, proporcionando el valor IID de la interfaz solicitada automáticamente en función del tipo del puntero de interfaz usado. Esto evita un error de codificación común comprobando el tipo del valor pasado en tiempo de compilación.
Sintaxis
void IID_PPV_ARGS(
ppType
);
Parámetros
ppType
Dirección de un puntero de interfaz cuyo tipo T se usa para determinar el tipo de objeto que se solicita. La macro devuelve el puntero de interfaz a través de este parámetro.
Valor devuelto
None
Observaciones
Una sintaxis común en los métodos que recuperan un puntero de interfaz (en particular QueryInterface y CoCreateInstance) incluyen dos parámetros:
- Parámetro [in], normalmente de tipo REFIID, para especificar el IID de la interfaz que se va a recuperar.
- Parámetro [out], normalmente de tipo void**, para recibir el puntero de interfaz.
Aunque Windows 7 es la primera inclusión de esta macro en un encabezado público, se puede usar en sistemas más antiguos definiendola manualmente en los encabezados del proyecto o en el código fuente.
En el ejemplo siguiente se muestra el uso de IID_PPV_ARGS para crear el objeto de almacén de propiedades de memoria mediante IPropertyStore.
IPropertyStore *pPropertyStore;
CoCreateInstance(CLSID_PropertyStore, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pPropertyStore));
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 7 [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 R2 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | combaseapi.h |