IGlobalInterfaceTable::RegisterInterfaceInGlobal 方法 (objidl.h)

将驻留在进程的一个单元中的对象上的指定接口注册为全局接口,从而允许其他单元访问该接口。

语法

HRESULT RegisterInterfaceInGlobal(
  [in]  IUnknown *pUnk,
  [in]  REFIID   riid,
  [out] DWORD    *pdwCookie
);

参数

[in] pUnk

实现要注册为全局的接口的对象上的 riid 类型的接口指针。

[in] riid

要注册为全局的接口的 IID。

[out] pdwCookie

另一个单元可以使用该标识符来访问指向所注册接口的指针。 无效 Cookie 的值为 0。

返回值

此方法可以返回以下值。

返回代码 说明
S_OK
该方法已成功完成。
E_INVALIDARG
一个或多个参数无效。

注解

在对象所在的单元中调用,将对象的一个接口注册为全局接口。 此方法提供指向 Cookie 的指针,其他单元可以在调用 GetInterfaceFromGlobal 方法时使用该指针来获取指向该接口的指针。

接口指针可以是指向进程内对象的指针,也可以是指向驻留在另一个单元、另一个进程或另一台计算机上的对象的代理的指针。

调用此方法的单元必须保持活动状态,直到对 RevokeInterfaceFromGlobal 的相应调用。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 objidl.h (包括 ObjIdl.h)

另请参阅

IGlobalInterfaceTable