IGlobalInterfaceTable ::GetInterfaceFromGlobal, méthode (objidl.h)
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.
Syntaxe
HRESULT GetInterfaceFromGlobal(
[in] DWORD dwCookie,
[in] REFIID riid,
[out] void **ppv
);
Paramètres
[in] dwCookie
Identifie l’interface (et son objet) et est récupéré via un appel à IGlobalInterfaceTable ::RegisterInterfaceInGlobal.
[in] riid
IID de l’interface.
[out] ppv
Pointeur vers le pointeur de l’interface demandée.
Valeur retournée
Cette méthode peut retourner les valeurs suivantes.
Code de retour | Description |
---|---|
|
La commande s'est correctement terminée. |
|
Un ou plusieurs paramètres ne sont pas valides. |
Remarques
Une fois qu’une interface a été inscrite dans la table d’interface globale, un appartement peut obtenir un pointeur vers cette interface en appelant la méthode GetInterfaceFromGlobal avec le cookie fourni. Ce pointeur vers l’interface peut être utilisé dans l’appartement appelant, mais pas par d’autres appartements dans le processus.
L’application est responsable de la coordination de l’accès à la variable globale pendant les appels à IGlobalInterfaceTable ::RevokeInterfaceFromGlobal. Autrement dit, l’application doit s’assurer qu’un thread n’appelle pas RevokeInterfaceFromGlobal tandis qu’un autre thread appelle GetInterfaceFromGlobal avec le même cookie. Plusieurs appels à GetInterfaceFromGlobal pour le même cookie sont autorisés.
La méthode GetInterfaceFromGlobal appelle AddRef sur le pointeur obtenu dans le paramètre ppv . Il est de la responsabilité de l’appelant d’appeler Release sur ce pointeur.
Configuration requise
Condition requise | Valeur |
---|---|
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 (inclure ObjIdl.h) |