Partager via


Interface IAdviseSink (objidl.h)

Permet aux conteneurs et autres objets de recevoir des notifications de modifications de données, d’afficher les modifications et de modifier les documents composés qui se produisent dans les objets d’intérêt. Les applications conteneur, par exemple, nécessitent de telles notifications pour maintenir à jour les présentations mises en cache de leurs objets liés et incorporés. Les appels aux méthodes IAdviseSink étant asynchrones, l’appel est envoyé, puis l’instruction suivante est exécutée sans attendre le retour de l’appel.

Pour qu’une connexion de conseil existe, l’objet qui doit recevoir des notifications doit implémenter IAdviseSink, et les objets qui l’intéressent doivent implémenter IOleObject ::Advise et IDataObject ::D Advise. Les objets et gestionnaires in-process peuvent également implémenter IViewObject ::SetAdvise. Les objets implémentant IOleObject doivent prendre en charge toutes les méthodes de conseil raisonnables. Pour simplifier les notifications d’avis, OLE fournit les implémentations des IDataAdviseHolder et IOleAdviseHolder, qui effectuent le suivi des connexions de conseil et envoient des notifications aux récepteurs appropriés via des pointeurs vers leurs interfaces IAdviseSink . IViewObject (et ses méthodes de conseil) sont implémentés dans le gestionnaire par défaut.

Comme indiqué dans le tableau suivant, un objet qui a implémenté un récepteur d’avis enregistre son intérêt à recevoir certains types de notifications en appelant la méthode appropriée.

Appeler cette méthode Pour s’inscrire à ces notifications
IOleObject ::Advise Lorsqu’un document est enregistré, fermé ou renommé.
IDataObject ::D Advise Quand les données d’un document changent.
IViewObject ::SetAdvise Quand la présentation d’un document change.
 

Lorsqu’un événement qui s’applique à un type de notification inscrit se produit, l’application objet appelle la méthode IAdviseSink appropriée. Par exemple, lorsqu’un objet incorporé se ferme, il appelle la méthode IAdviseSink ::OnClose pour notifier son conteneur. Ces notifications sont asynchrones et se produisent après les événements qui les déclenchent.

Héritage

L’interface IAdviseSink hérite de l’interface IUnknown. IAdviseSink a également les types de membres suivants :

Méthodes

L’interface IAdviseSink possède ces méthodes.

 
IAdviseSink ::OnClose

Appelé par le serveur pour informer tous les récepteurs de conseil inscrits que l’objet est passé de l’état en cours d’exécution à l’état chargé.
IAdviseSink ::OnDataChange

Appelé par le serveur pour notifier les récepteurs d’un objet de données actuellement inscrits, indiquent que les données de l’objet ont changé.
IAdviseSink ::OnRename

Appelé par le serveur pour informer tous les récepteurs de conseils inscrits que l’objet a été renommé.
IAdviseSink ::OnSave

Appelé par le serveur pour informer tous les récepteurs de conseil inscrits que l’objet a été enregistré.
IAdviseSink ::OnViewChange

Avertit les récepteurs d’avis inscrits d’un objet que sa vue a changé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête objidl.h

Voir aussi

IAdviseSink2

IAdviseSinkEx

IDataAdviseHolder

IDataObject ::D Advise

IOleAdviseHolder

IOleObject ::Advise

IUnknown

IViewObject ::SetAdvise