IID_PPV_ARGS宏 (combaseapi.h)
用于检索接口指针,根据使用的接口指针的类型自动提供所请求接口的 IID 值。 这可以通过检查编译时传递的值的类型来避免常见的编码错误。
语法
void IID_PPV_ARGS(
ppType
);
参数
ppType
接口指针的地址,其类型 T 用于确定所请求的对象类型。 宏通过此参数返回接口指针。
返回值
无
备注
检索接口指针的方法中的常用语法 (最明显的 QueryInterface 和 CoCreateInstance) 包括两个参数:
- [in] 参数,通常为 REFIID 类型,用于指定要检索的接口的 IID。
- [out] 参数,通常为 void 类型,用于接收接口指针。
虽然 Windows 7 是第一个将此宏包含在公共标头中,但它可以通过在项目标头或源代码中手动定义它在旧系统上使用。
以下示例演示如何使用 IID_PPV_ARGS 通过 IPropertyStore 创建内存属性存储对象。
IPropertyStore *pPropertyStore;
CoCreateInstance(CLSID_PropertyStore, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pPropertyStore));
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
目标平台 | Windows |
标头 | combaseapi.h |