IGlobalInterfaceTable::GetInterfaceFromGlobal メソッド (objidl.h)
呼び出し元アパートメントで使用できるオブジェクトのインターフェイスへのポインターを取得します。 このインターフェイスは、現在グローバル インターフェイス テーブルに登録されている必要があります。
構文
HRESULT GetInterfaceFromGlobal(
[in] DWORD dwCookie,
[in] REFIID riid,
[out] void **ppv
);
パラメーター
[in] dwCookie
インターフェイス (およびそのオブジェクト) を識別し、 IGlobalInterfaceTable::RegisterInterfaceInGlobal の呼び出しによって取得されます。
[in] riid
インターフェイスの IID。
[out] ppv
要求されたインターフェイスのポインターへのポインター。
戻り値
このメソッドは、次の値を返すことができます。
リターン コード | 説明 |
---|---|
|
メソッドは正常に完了しました。 |
|
1 つ以上のパラメーターが無効です。 |
注釈
インターフェイスがグローバル インターフェイス テーブルに登録されると、アパートメントは、指定された Cookie を使用して GetInterfaceFromGlobal メソッドを呼び出すことによって、このインターフェイスへのポインターを取得できます。 インターフェイスへのこのポインターは、呼び出し元のアパートメントでは使用できますが、プロセス内の他のアパートメントでは使用できません。
アプリケーションは、 IGlobalInterfaceTable::RevokeInterfaceFromGlobal の呼び出し中にグローバル変数へのアクセスを調整する役割を担います。 つまり、アプリケーションでは、別のスレッドが同じ Cookie で GetInterfaceFromGlobal を呼び出している間に、1 つのスレッドが RevokeInterfaceFromGlobal を呼び出さないことを確認する必要があります。 同じ Cookie に対する GetInterfaceFromGlobal への複数の呼び出しが許可されます。
GetInterfaceFromGlobal メソッドは、ppv パラメーターで取得したポインターに対して AddRef を呼び出します。 このポインターで Release を呼び出すのは呼び出し元の責任です。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | objidl.h (ObjIdl.h を含む) |