次の方法で共有


IGlobalInterfaceTable::RegisterInterfaceInGlobal メソッド (objidl.h)

プロセスの 1 つのアパートメントに存在するオブジェクトに指定されたインターフェイスをグローバル インターフェイスとして登録し、そのインターフェイスへの他のアパートメント アクセスを有効にします。

構文

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
1 つ以上のパラメーターが無効です。

注釈

オブジェクトが存在するアパートメントで呼び出され、オブジェクトのインターフェイスの 1 つをグローバル インターフェイスとして登録します。 このメソッドは、他のアパートメントがそのインターフェイスへのポインターを取得するために GetInterfaceFromGlobal メソッドの呼び出しで使用できる Cookie へのポインターを提供します。

インターフェイス ポインターは、インプロセス オブジェクトへのポインター、または別のアパートメント、別のプロセス、または別のコンピューターに存在するオブジェクトのプロキシへのポインターである場合があります。

このメソッドを呼び出すアパートメントは、 RevokeInterfaceFromGlobal の対応する呼び出しまで存続する必要があります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー objidl.h (ObjIdl.h を含む)

こちらもご覧ください

IGlobalInterfaceTable