共用方式為


IGlobalInterfaceTable::RegisterInterfaceInGlobal 方法 (objidl.h)

在位於進程一個 Apartment 的物件上註冊指定的介面做為全域介面,讓其他 Apartment 能夠存取該介面。

語法

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

參數

[in] pUnk

實作要註冊為全域之介面的物件上 riid 類型的介面指標。

[in] riid

要註冊為全域之介面的 IID。

[out] pdwCookie

另一個 Apartment 可用來存取所註冊介面指標的標識碼。 無效 Cookie 的值是 0。

傳回值

這個方法可以傳回下列值。

傳回碼 描述
S_OK
已成功完成命令。
E_INVALIDARG
一或多個參數無效。

備註

在物件所在的 Apartment 中呼叫,以將其中一個對象的介面註冊為全域介面。 這個方法會提供 Cookie 的指標,讓其他 Apartment 可以在 GetInterfaceFromGlobal 方法的呼叫中使用,以取得該介面的指標。

介面指標可以是進程內物件的指標,或是位於另一個 Apartment、另一個進程或另一部電腦上之物件的 Proxy 指標。

呼叫此方法的 Apartment 必須保持運作,直到 對 RevokeInterfaceFromGlobal 的對應呼叫為止。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows 2000 Server [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 objidl.h (包含 ObjIdl.h)

另請參閱

IGlobalInterfaceTable