Compartir a través de


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

Recupera un puntero a una interfaz en un objeto que puede usar el apartamento que realiza la llamada. Esta interfaz debe estar registrada actualmente en la tabla de interfaz global.

Sintaxis

HRESULT GetInterfaceFromGlobal(
  [in]  DWORD  dwCookie,
  [in]  REFIID riid,
  [out] void   **ppv
);

Parámetros

[in] dwCookie

Identifica la interfaz (y su objeto) y se recupera a través de una llamada a IGlobalInterfaceTable::RegisterInterfaceInGlobal.

[in] riid

IID de la interfaz.

[out] ppv

Puntero al puntero de la interfaz solicitada.

Valor devuelto

Este método puede devolver los valores siguientes.

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

Una vez registrada una interfaz en la tabla de interfaz global, un apartamento puede obtener un puntero a esta interfaz llamando al método GetInterfaceFromGlobal con la cookie proporcionada. Este puntero a la interfaz se puede utilizar en el apartamento que realiza la llamada, pero no por otros apartamentos en el proceso.

La aplicación es responsable de coordinar el acceso a la variable global durante las llamadas a IGlobalInterfaceTable::RevokeInterfaceFromGlobal. Es decir, la aplicación debe asegurarse de que un subproceso no llame a RevokeInterfaceFromGlobal mientras que otro subproceso llama a GetInterfaceFromGlobal con la misma cookie. Se permiten varias llamadas a GetInterfaceFromGlobal para la misma cookie.

El método GetInterfaceFromGlobal llama a AddRef en el puntero obtenido en el parámetro ppv . Es responsabilidad del autor de la llamada llamar a Release en este puntero.

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 (incluir ObjIdl.h)

Consulte también

IGlobalInterfaceTable