Método IOleObject::Advise (oleidl.h)
Estabelece uma conexão de consultoria entre um objeto de documento composto e o coletor de aconselhamento do objeto de chamada, por meio do qual o objeto de chamada recebe notificação quando o objeto de documento composto é renomeado, salvo ou fechado.
Sintaxe
HRESULT Advise(
[in] IAdviseSink *pAdvSink,
[out] DWORD *pdwConnection
);
Parâmetros
[in] pAdvSink
Ponteiro para a interface IAdviseSink no coletor de aconselhamento do objeto de chamada.
[out] pdwConnection
Ponteiro para um token que pode ser passado para IOleObject::Unadvise para excluir a conexão de consultoria.
Retornar valor
Esse método retorna S_OK com êxito. Outros valores retornados possíveis incluem o seguinte.
Código de retorno | Descrição |
---|---|
|
Memória insuficiente disponível para esta operação. |
Comentários
O método IOleObject::Advise configura uma conexão de consultoria entre um objeto e seu contêiner, por meio do qual o objeto informa o coletor de avisos do contêiner de eventos de fechamento, salvamento, renomeação e alteração de fonte de link no objeto . Um contêiner chama esse método, normalmente como parte da inicialização de um objeto, para registrar seu coletor de consultoria com o objeto . Em troca, o objeto envia as notificações de documento composto do contêiner chamando IAdviseSink ou IAdviseSink2.
Se o contêiner e o objeto estabelecerem com êxito uma conexão de consultoria, o objeto que recebe a chamada retornará um valor diferente de zero por meio de pdwConnection para o contêiner. Se a tentativa de estabelecer uma conexão de consultoria falhar, o objeto retornará zero. Para excluir uma conexão de consultoria, o contêiner chama IOleObject::Unadvise e passa esse token diferente de zero de volta para o objeto .
Um objeto pode delegar o trabalho de gerenciamento e acompanhamento de eventos de consultoria a um titular de consultoria OLE, ao qual você obtém um ponteiro chamando CreateOleAdviseHolder. A interface IOleAdviseHolder retornada tem três métodos para enviar notificações de consultoria, bem como métodos IOleAdviseHolder::Advise, IOleAdviseHolder::Unadvise e IOleAdviseHolder::EnumAdvise idênticos aos de IOleObject. As chamadas para IOleObject::Advise, IOleObject::Unadvise ou IOleObject::EnumAdvise são delegadas aos métodos correspondentes no titular da consultoria.
Para destruir o titular da consultoria, basta chamar IUnknown::Release na interface IOleAdviseHolder .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | oleidl.h |