Método IGlobalInterfaceTable::GetInterfaceFromGlobal (objidl.h)
Recupera um ponteiro para uma interface em um objeto utilizável pelo apartment de chamada. Essa interface deve estar registrada atualmente na tabela de interface global.
Sintaxe
HRESULT GetInterfaceFromGlobal(
[in] DWORD dwCookie,
[in] REFIID riid,
[out] void **ppv
);
Parâmetros
[in] dwCookie
Identifica a interface (e seu objeto) e é recuperado por meio de uma chamada para IGlobalInterfaceTable::RegisterInterfaceInGlobal.
[in] riid
O IID da interface.
[out] ppv
Um ponteiro para o ponteiro para a interface solicitada.
Retornar valor
Esse método pode retornar os valores a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi concluído com sucesso. |
|
Um ou mais parâmetros são inválidos. |
Comentários
Depois que uma interface tiver sido registrada na tabela de interface global, um apartment poderá obter um ponteiro para essa interface chamando o método GetInterfaceFromGlobal com o cookie fornecido. Esse ponteiro para a interface pode ser usado no apartamento de chamada, mas não por outros apartamentos no processo.
O aplicativo é responsável por coordenar o acesso à variável global durante chamadas para IGlobalInterfaceTable::RevokeInterfaceFromGlobal. Ou seja, o aplicativo deve garantir que um thread não chame RevokeInterfaceFromGlobal enquanto outro thread estiver chamando GetInterfaceFromGlobal com o mesmo cookie. Várias chamadas para GetInterfaceFromGlobal para o mesmo cookie são permitidas.
O método GetInterfaceFromGlobal chama AddRef no ponteiro obtido no parâmetro ppv . É responsabilidade do chamador chamar Release nesse ponteiro.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
Plataforma de Destino | Windows |
Cabeçalho | objidl.h (inclua ObjIdl.h) |