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 |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
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) |