Compartilhar via


Interface IAdviseSink (objidl.h)

Permite que contêineres e outros objetos recebam notificações de alterações de dados, alterações de exibição e alterações de documentos compostos que ocorrem em objetos de interesse. Os aplicativos de contêiner, por exemplo, exigem essas notificações para manter as apresentações armazenadas em cache de seus objetos vinculados e inseridos atualizados. As chamadas aos métodos IAdviseSink são assíncronas, portanto, a chamada é enviada e, em seguida, a próxima instrução é executada sem aguardar o retorno da chamada.

Para que exista uma conexão de consultoria, o objeto que deve receber notificações deve implementar IAdviseSink e os objetos nos quais ele está interessado devem implementar IOleObject::Advise e IDataObject::D Advise. Os manipuladores e objetos em processo também podem implementar IViewObject::SetAdvise. Os objetos que implementam o IOleObject devem dar suporte a todos os métodos de consultoria razoáveis. Para simplificar as notificações de consultoria, o OLE fornece implementações do IDataAdviseHolder e IOleAdviseHolder, que acompanham as conexões de consultoria e enviam notificações para os coletores apropriados por meio de ponteiros para suas interfaces IAdviseSink . IViewObject (e seus métodos de consultoria) é implementado no manipulador padrão.

Conforme mostrado na tabela a seguir, um objeto que implementou um coletor de consultoria registra seu interesse em receber determinados tipos de notificações chamando o método apropriado.

Chamar esse método Para registrar-se para essas notificações
IOleObject::Advise Quando um documento é salvo, fechado ou renomeado.
IDataObject::D Advise Quando os dados de um documento são alterados.
IViewObject::SetAdvise Quando a apresentação de um documento é alterada.
 

Quando ocorre um evento que se aplica a um tipo de notificação registrado, o aplicativo de objeto chama o método IAdviseSink apropriado. Por exemplo, quando um objeto inserido é fechado, ele chama o método IAdviseSink::OnClose para notificar seu contêiner. Essas notificações são assíncronas, ocorrendo após os eventos que as disparam.

Herança

A interface IAdviseSink herda da interface IUnknown . IAdviseSink também tem esses tipos de membros:

Métodos

A interface IAdviseSink tem esses métodos.

 
IAdviseSink::OnClose

Chamado pelo servidor para notificar todos os coletores de consultoria registrados de que o objeto foi alterado da execução para o estado carregado.
IAdviseSink::OnDataChange

Chamado pelo servidor para notificar os coletores de aviso atualmente registrados de um objeto de dados de que os dados no objeto foram alterados.
IAdviseSink::OnRename

Chamado pelo servidor para notificar todos os coletores de consultoria registrados de que o objeto foi renomeado.
IAdviseSink::OnSave

Chamado pelo servidor para notificar todos os coletores de consultoria registrados de que o objeto foi salvo.
IAdviseSink::OnViewChange

Notifica os coletores de aviso registrados de um objeto de que sua exibição foi alterada.

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

Confira também

IAdviseSink2

IAdviseSinkEx

IDataAdviseHolder

IDataObject::D Advise

Ioleadviseholder

IOleObject::Advise

IUnknown

IViewObject::SetAdvise