macro IID_PPV_ARGS (combaseapi.h)
Usado para recuperar um ponteiro de interface, fornecendo o valor IID da interface solicitada automaticamente com base no tipo do ponteiro de interface usado. Isso evita um erro de codificação comum verificando o tipo do valor passado no tempo de compilação.
Sintaxe
void IID_PPV_ARGS(
ppType
);
Parâmetros
ppType
Um endereço de um ponteiro de interface cujo tipo T é usado para determinar o tipo de objeto que está sendo solicitado. A macro retorna o ponteiro da interface por meio desse parâmetro.
Retornar valor
Nenhum
Comentários
Uma sintaxe comum em métodos que recuperam um ponteiro de interface (mais notavelmente QueryInterface e CoCreateInstance) inclui dois parâmetros:
- Um parâmetro [in], normalmente do tipo REFIID, para especificar o IID da interface a ser recuperada.
- Um parâmetro [out], normalmente do tipo void**, para receber o ponteiro da interface.
Embora o Windows 7 seja a primeira inclusão dessa macro em um cabeçalho público, ela pode ser usada em sistemas mais antigos definindo-a manualmente nos cabeçalhos do projeto ou no código-fonte.
O exemplo a seguir mostra o uso de IID_PPV_ARGS para criar o objeto de repositório de propriedades de memória usando IPropertyStore.
IPropertyStore *pPropertyStore;
CoCreateInstance(CLSID_PropertyStore, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pPropertyStore));
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 7 [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2008 R2 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | combaseapi.h |