Partager via


Interface IGlobalInterfaceTable (objidl.h)

Permet à n’importe quel appartement d’un processus d’accéder à une interface implémentée sur un objet dans n’importe quel autre appartement du processus.

Héritage

L’interface IGlobalInterfaceTable hérite de l’interface IUnknown. IGlobalInterfaceTable comporte également les types de membres suivants :

Méthodes

L’interface IGlobalInterfaceTable comporte ces méthodes.

 
IGlobalInterfaceTable::GetInterfaceFromGlobal

Récupère un pointeur vers une interface sur un objet utilisable par l’appartement appelant. Cette interface doit être actuellement inscrite dans la table d’interface globale.
IGlobalInterfaceTable::RegisterInterfaceInGlobal

Inscrit l’interface spécifiée sur un objet résidant dans un appartement d’un processus en tant qu’interface globale, ce qui permet à d’autres appartements d’accéder à cette interface.
IGlobalInterfaceTable::RevokeInterfaceFromGlobal

Révoque l’inscription d’une interface dans la table d’interface globale.

Notes

L’interface IGlobalInterfaceTable est un moyen efficace pour un processus de stocker un pointeur d’interface dans un emplacement mémoire accessible à partir de plusieurs appartements au sein du processus, tels que des variables à l’échelle du processus et des objets agiles (marshalés avec thread libre) contenant des pointeurs d’interface vers d’autres objets.

Un objet agile ignore l’infrastructure COM sous-jacente dans laquelle il s’exécute, c’est-à-dire l’appartement, le contexte et le thread sur lesquels il s’exécute. L’objet peut s’accrocher à des interfaces spécifiques à un appartement ou à un contexte. Pour cette raison, l’appel de ces interfaces à partir de l’endroit où le composant agile s’exécute peut ne pas toujours fonctionner correctement. La table d’interface globale évite ce problème en garantissant qu’un proxy (ou pointeur direct) valide vers l’objet est utilisé, en fonction de l’endroit où l’objet agile s’exécute.

La table d’interface globale n’étant pas portable au-delà des limites du processus ou de l’ordinateur, elle ne peut pas être utilisée à la place du mécanisme normal de passage de paramètres.

Spécifications

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête objidl.h