Compartir a través de


Interfaz IAdviseSink (objidl.h)

Permite a los contenedores y otros objetos recibir notificaciones de cambios de datos, ver cambios y cambios compuestos en documentos que se producen en objetos de interés. Por ejemplo, las aplicaciones contenedoras requieren estas notificaciones para mantener actualizadas las presentaciones almacenadas en caché de sus objetos vinculados e incrustados. Las llamadas a métodos IAdviseSink son asincrónicas, por lo que la llamada se envía y, a continuación, se ejecuta la siguiente instrucción sin esperar a que se devuelva la llamada.

Para que exista una conexión de asesoramiento, el objeto que va a recibir notificaciones debe implementar IAdviseSink y los objetos en los que está interesado deben implementar IOleObject::Advise e IDataObject::D Advise. Los objetos y controladores en proceso también pueden implementar IViewObject::SetAdvise. Los objetos que implementan IOleObject deben admitir todos los métodos de asesoramiento razonables. Para simplificar las notificaciones de asesoramiento, OLE proporciona implementaciones de IDataAdviseHolder e IOleAdviseHolder, que realizan un seguimiento de las conexiones de asesoramiento y envían notificaciones a los receptores adecuados a través de punteros a sus interfaces IAdviseSink . IViewObject (y sus métodos de asesoramiento) se implementa en el controlador predeterminado.

Como se muestra en la tabla siguiente, un objeto que ha implementado un receptor de aviso registra su interés en recibir determinados tipos de notificaciones mediante una llamada al método adecuado.

Llamar a este método Para registrarse para estas notificaciones
IOleObject::Advise Cuando se guarda, cierra o cambia el nombre de un documento.
IDataObject::D Advise Cuando cambian los datos de un documento.
IViewObject::SetAdvise Cuando cambia la presentación de un documento.
 

Cuando se produce un evento que se aplica a un tipo de notificación registrado, la aplicación de objeto llama al método IAdviseSink adecuado. Por ejemplo, cuando se cierra un objeto incrustado, llama al método IAdviseSink::OnClose para notificar a su contenedor. Estas notificaciones son asincrónicas, que se producen después de los eventos que los desencadenan.

Herencia

La interfaz IAdviseSink hereda de la interfaz IUnknown . IAdviseSink también tiene estos tipos de miembros:

Métodos

La interfaz IAdviseSink tiene estos métodos.

 
IAdviseSink::OnClose

Llamado por el servidor para notificar a todos los receptores de aviso registrados que el objeto ha cambiado de la ejecución al estado cargado.
IAdviseSink::OnDataChange

Llamado por el servidor para notificar a los receptores de aviso registrados actualmente de un objeto de datos que los datos del objeto han cambiado.
IAdviseSink::OnRename

Llamado por el servidor para notificar a todos los receptores de aviso registrados que se ha cambiado el nombre del objeto.
IAdviseSink::OnSave

Llamado por el servidor para notificar a todos los receptores de aviso registrados que el objeto se ha guardado.
IAdviseSink::OnViewChange

Notifica a los receptores registrados de un objeto que su vista ha cambiado.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP]
Servidor mínimo compatible Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP]
Plataforma de destino Windows
Encabezado objidl.h

Consulte también

IAdviseSink2

IAdviseSinkEx

IDataAdviseHolder

IDataObject::D Advise

IOleAdviseHolder

IOleObject::Advise

IUnknown

IViewObject::SetAdvise