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 |