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 |
---|---|
|
El método se completó correctamente. |
|
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) |