Função BindMoniker (objbase.h)
Localiza um objeto por meio de seu moniker, ativa o objeto se ele está inativo e recupera um ponteiro para a interface especificada nesse objeto.
Sintaxe
HRESULT BindMoniker(
[in] LPMONIKER pmk,
[in] DWORD grfOpt,
[in] REFIID iidResult,
[out] LPVOID *ppvResult
);
Parâmetros
[in] pmk
Um ponteiro para o moniker do objeto. Veja IMoniker.
[in] grfOpt
Esse parâmetro é reservado para uso futuro e deve ser 0.
[in] iidResult
O identificador de interface a ser usado para se comunicar com o objeto .
[out] ppvResult
O endereço da variável de ponteiro que recebe o ponteiro de interface solicitado em iidResult. Após o retorno bem-sucedido, *ppvResult contém o ponteiro de interface solicitado. Se ocorrer um erro, *ppvResult será NULL. Se a chamada for bem-sucedida, o chamador será responsável por liberar o ponteiro com uma chamada para o método IUnknown::Release do objeto.
Retornar valor
Essa função pode retornar os seguintes códigos de erro ou qualquer um dos valores de erro retornados pelo método IMoniker::BindToObject .
Código de retorno | Descrição |
---|---|
|
O objeto foi localizado e ativado, se necessário, e um ponteiro para a interface solicitada foi retornado. |
|
Não foi possível encontrar o objeto que o objeto moniker identificou. |
Comentários
BindMoniker é uma função auxiliar fornecida como uma maneira conveniente para um cliente que tem o moniker de um objeto para obter um ponteiro para uma das interfaces desse objeto. BindMoniker empacota as seguintes chamadas:
CreateBindCtx(0, &pbc);
pmk->BindToObject(pbc, NULL, riid, ppvObj);
CreateBindCtx cria um objeto de contexto de associação que dá suporte à implementação do sistema de IBindContext. O parâmetro pmk é, na verdade, um ponteiro para a implementação do IMoniker em um objeto moniker. O método BindToObject dessa implementação fornece o ponteiro para o ponteiro de interface solicitado.
Se você tiver vários monikers para associar em sucessão rápida e se souber que esses monikers ativarão o mesmo objeto, talvez seja mais eficiente chamar o método IMoniker::BindToObject diretamente, o que permite que você use o mesmo objeto de contexto de associação para todos os monikers. Consulte a interface IBindCtx para obter mais informações.
Aplicativos de contêiner que permitem que seus documentos contenham objetos vinculados são um cliente especial que geralmente não faz chamadas diretas para métodos IMoniker . Em vez disso, o cliente manipula os objetos vinculados por meio da interface IOleLink . O manipulador padrão implementa essa interface e chama os métodos IMoniker apropriados conforme necessário.
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 | objbase.h |
Biblioteca | Ole32.lib |
DLL | Ole32.dll |
Conjunto de APIs | ext-ms-win-com-ole32-l1-1-5 (introduzido em Windows 10, versão 10.0.15063) |