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 |