IGlobalInterfaceTable::GetInterfaceFromGlobal 方法 (objidl.h)
检索指向对象上的接口的指针,该接口可由调用单元使用。 此接口当前必须在全局接口表中注册。
语法
HRESULT GetInterfaceFromGlobal(
[in] DWORD dwCookie,
[in] REFIID riid,
[out] void **ppv
);
参数
[in] dwCookie
标识接口 (及其对象) ,并通过调用 IGlobalInterfaceTable::RegisterInterfaceInGlobal 进行检索。
[in] riid
接口的 IID。
[out] ppv
指向所请求接口的指针的指针。
返回值
此方法可以返回以下值。
返回代码 | 说明 |
---|---|
|
该方法已成功完成。 |
|
一个或多个参数无效。 |
注解
在全局接口表中注册接口后,单元可以通过使用提供的 Cookie 调用 GetInterfaceFromGlobal 方法来获取指向此接口的指针。 此指向接口的指针可以在调用单元中使用,但不能由进程中的其他单元使用。
应用程序负责在调用 IGlobalInterfaceTable::RevokeInterfaceFromGlobal 期间协调对全局变量的访问。 也就是说,应用程序应确保一个线程不调用 RevokeInterfaceFromGlobal ,而另一个线程调用具有相同 Cookie 的 GetInterfaceFromGlobal 。 允许针对同一 Cookie 多次调用 GetInterfaceFromGlobal 。
GetInterfaceFromGlobal 方法在 ppv 参数中获取的指针上调用 AddRef。 调用方负责在此指针上调用 Release 。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | objidl.h (包括 ObjIdl.h) |