Partager via


IGlobalInterfaceTable ::RegisterInterfaceInGlobal, méthode (objidl.h)

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.

Syntaxe

HRESULT RegisterInterfaceInGlobal(
  [in]  IUnknown *pUnk,
  [in]  REFIID   riid,
  [out] DWORD    *pdwCookie
);

Paramètres

[in] pUnk

Pointeur d’interface de type riid sur l’objet sur lequel l’interface à inscrire comme globale est implémentée.

[in] riid

IID de l’interface à inscrire comme globale.

[out] pdwCookie

Identificateur qui peut être utilisé par un autre appartement pour accéder à un pointeur vers l’interface inscrite. La valeur d’un cookie non valide est 0.

Valeur retournée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_INVALIDARG
Un ou plusieurs paramètres ne sont pas valides.

Remarques

Appelé dans l’appartement dans lequel réside un objet pour inscrire l’une des interfaces de l’objet en tant qu’interface globale. Cette méthode fournit un pointeur vers un cookie que d’autres appartements peuvent utiliser dans un appel à la méthode GetInterfaceFromGlobal pour obtenir un pointeur vers cette interface.

Le pointeur d’interface peut être un pointeur vers un objet en cours de traitement ou un pointeur vers un proxy pour un objet résidant dans un autre appartement, dans un autre processus ou sur un autre ordinateur.

L’appartement qui appelle cette méthode doit rester actif jusqu’à l’appel correspondant à RevokeInterfaceFromGlobal.

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)

Voir aussi

IGlobalInterfaceTable