Método IGlobalInterfaceTable::RegisterInterfaceInGlobal (objidl.h)

Registra la interfaz especificada en un objeto que reside en un apartamento de un proceso como una interfaz global, lo que permite a otros apartamentos acceder a esa interfaz.

Sintaxis

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

Parámetros

[in] pUnk

Puntero de interfaz de tipo riid en el objeto en el que se implementa la interfaz que se va a registrar como global.

[in] riid

IID de la interfaz que se va a registrar como global.

[out] pdwCookie

Identificador que otro departamento puede usar para obtener acceso a un puntero a la interfaz que se está registrando. El valor de una cookie no válida es 0.

Valor devuelto

Este método puede devolver los siguientes valores.

Código devuelto Descripción
S_OK
El método se completó correctamente.
E_INVALIDARG
Uno o varios parámetros no son válidos.

Comentarios

Se llama en el apartamento en el que reside un objeto para registrar una de las interfaces del objeto como una interfaz global. Este método proporciona un puntero a una cookie que otros apartamentos pueden usar en una llamada al método GetInterfaceFromGlobal para obtener un puntero a esa interfaz.

El puntero de interfaz puede ser un puntero a un objeto en proceso o puede ser un puntero a un proxy para un objeto que resida en otro apartamento, en otro proceso o en otro equipo.

El apartamento que llama a este método debe permanecer activo hasta que la llamada correspondiente a RevokeInterfaceFromGlobal.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado objidl.h (incluya ObjIdl.h)

Consulte también

IGlobalInterfaceTable