Compartilhar via


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
E_OUTOFMEMORY
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

Confira também

Createoleadviseholder

IOleAdviseHolder::Advise

Ioleobject

IOleObject::EnumAdvise

IOleObject::Unadvise