Share via


IOleObject ::Advise, méthode (oleidl.h)

Établit une connexion de conseil entre un objet de document composé et le récepteur d’avis de l’objet appelant, par le biais duquel l’objet appelant reçoit une notification lorsque l’objet de document composé est renommé, enregistré ou fermé.

Syntaxe

HRESULT Advise(
  [in]  IAdviseSink *pAdvSink,
  [out] DWORD       *pdwConnection
);

Paramètres

[in] pAdvSink

Pointeur vers l’interface IAdviseSink sur le récepteur de conseil de l’objet appelant.

[out] pdwConnection

Pointeur vers un jeton qui peut être passé à IOleObject ::Unadvise pour supprimer la connexion de conseil.

Valeur retournée

Cette méthode retourne S_OK en cas de réussite. Les autres valeurs de retour possibles sont les suivantes.

Code de retour Description
E_OUTOFMEMORY
Mémoire insuffisante disponible pour cette opération.

Remarques

La méthode IOleObject ::Advise configure une connexion de conseil entre un objet et son conteneur, par le biais de laquelle l’objet informe le récepteur de conseil du conteneur de la fermeture, de l’enregistrement, du renommage et des événements de modification de source de lien dans l’objet. Un conteneur appelle cette méthode, normalement dans le cadre de l’initialisation d’un objet, pour inscrire son récepteur d’avis auprès de l’objet . En retour, l’objet envoie les notifications de document composé du conteneur en appelant IAdviseSink ou IAdviseSink2.

Si le conteneur et l’objet établissent correctement une connexion d’avis, l’objet qui reçoit l’appel retourne une valeur différente de zéro par le biais de pdwConnection au conteneur. Si la tentative d’établissement d’une connexion de conseil échoue, l’objet retourne zéro. Pour supprimer une connexion d’avis, le conteneur appelle IOleObject ::Unadvise et transmet ce jeton non nul à l’objet.

Un objet peut déléguer le travail de gestion et de suivi des événements de conseil à un titulaire d’avis OLE, vers lequel vous obtenez un pointeur en appelant CreateOleAdviseHolder. L’interface IOleAdviseHolder retournée a trois méthodes pour envoyer des notifications d’avis, ainsi que les méthodes IOleAdviseHolder ::Advise, IOleAdviseHolder ::Unadvise et IOleAdviseHolder ::EnumAdvise qui sont identiques à celles pour IOleObject. Les appels à IOleObject ::Advise, IOleObject ::Unadvise ou IOleObject ::EnumAdvise sont délégués aux méthodes correspondantes dans le titulaire du conseil.

Pour détruire le titulaire du conseil, appelez simplement IUnknown ::Release sur l’interface IOleAdviseHolder .

Configuration requise

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

Voir aussi

CreateOleAdviseHolder

IOleAdviseHolder ::Advise

IOleObject

IOleObject ::EnumAdvise

IOleObject ::Unadvise