IGlobalInterfaceTable::GetInterfaceFromGlobal-Methode (objidl.h)

Ruft einen Zeiger auf eine Schnittstelle für ein Objekt ab, das vom aufrufenden Apartment verwendet werden kann. Diese Schnittstelle muss derzeit in der globalen Schnittstellentabelle registriert sein.

Syntax

HRESULT GetInterfaceFromGlobal(
  [in]  DWORD  dwCookie,
  [in]  REFIID riid,
  [out] void   **ppv
);

Parameter

[in] dwCookie

Identifiziert die Schnittstelle (und deren Objekt) und wird durch einen Aufruf von IGlobalInterfaceTable::RegisterInterfaceInGlobal abgerufen.

[in] riid

Die IID der Schnittstelle.

[out] ppv

Ein Zeiger auf den Zeiger für die angeforderte Schnittstelle.

Rückgabewert

Diese Methode kann die folgenden Werte zurückgeben.

Rückgabecode BESCHREIBUNG
S_OK
Die Methode wurde erfolgreich abgeschlossen.
E_INVALIDARG
Mindestens ein Parameter ist ungültig.

Hinweise

Nachdem eine Schnittstelle in der globalen Schnittstellentabelle registriert wurde, kann ein Apartment einen Zeiger auf diese Schnittstelle abrufen, indem die GetInterfaceFromGlobal-Methode mit dem angegebenen Cookie aufgerufen wird. Dieser Zeiger auf die Schnittstelle kann in der aufrufenden Wohnung verwendet werden, aber nicht von anderen Wohnungen im Prozess.

Die Anwendung ist für die Koordinierung des Zugriffs auf die globale Variable während der Aufrufe von IGlobalInterfaceTable::RevokeInterfaceFromGlobal verantwortlich. Das heißt, die Anwendung sollte sicherstellen, dass ein Thread nicht RevokeInterfaceFromGlobal aufruft, während ein anderer Thread GetInterfaceFromGlobal mit demselben Cookie aufruft. Mehrere Aufrufe von GetInterfaceFromGlobal für dasselbe Cookie sind zulässig.

Die GetInterfaceFromGlobal-Methode ruft AddRef für den im ppv-Parameter abgerufenen Zeiger auf. Es liegt in der Verantwortung des Aufrufers , Release für diesen Zeiger aufzurufen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile objidl.h (include ObjIdl.h)

Weitere Informationen

IGlobalInterfaceTable