IGlobalInterfaceTable-Schnittstelle (objidl.h)
Ermöglicht jedem Apartment in einem Prozess den Zugriff auf eine Schnittstelle, die für ein Objekt in einem anderen Apartment im Prozess implementiert ist.
Vererbung
Die IGlobalInterfaceTable-Schnittstelle erbt von der IUnknown-Schnittstelle . IGlobalInterfaceTable verfügt auch über folgende Membertypen:
Methoden
Die IGlobalInterfaceTable-Schnittstelle verfügt über diese Methoden.
IGlobalInterfaceTable::GetInterfaceFromGlobal 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. |
IGlobalInterfaceTable::RegisterInterfaceInGlobal Registriert die angegebene Schnittstelle für ein Objekt, das sich in einer Wohnung eines Prozesses befindet, als globale Schnittstelle, sodass anderen Wohnungen der Zugriff auf diese Schnittstelle ermöglicht wird. |
IGlobalInterfaceTable::RevokeInterfaceFromGlobal Widerruft die Registrierung einer Schnittstelle in der globalen Schnittstellentabelle. |
Hinweise
Die IGlobalInterfaceTable-Schnittstelle ist eine effiziente Möglichkeit für einen Prozess, einen Schnittstellenzeiger an einem Speicherort zu speichern, auf den von mehreren Apartments innerhalb des Prozesses zugegriffen werden kann, z. B. prozessweite Variablen und agile (freethreaded marshaled) Objekte, die Schnittstellenzeiger auf andere Objekte enthalten.
Ein agiles Objekt ist der zugrunde liegenden COM-Infrastruktur, in der es ausgeführt wird, nicht bekannt, d. h. in welchem Apartment, kontext und thread es ausgeführt wird. Das Objekt kann an Schnittstellen festgehalten werden, die für ein Apartment oder einen Kontext spezifisch sind. Aus diesem Grund funktioniert das Aufrufen dieser Schnittstellen von überall aus, wo die agile Komponente ausgeführt wird, möglicherweise nicht immer ordnungsgemäß. Die globale Schnittstellentabelle vermeidet dieses Problem, indem sichergestellt wird, dass ein gültiger Proxy (oder direkter Zeiger) auf das Objekt verwendet wird, je nachdem, wo das agile Objekt ausgeführt wird.
Die globale Schnittstellentabelle ist nicht über Prozess- oder Computergrenzen hinweg portierbar, sodass sie nicht anstelle des normalen Mechanismus für die Parameterübergabe verwendet werden kann.
Anforderungen
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 |