Condividi tramite


Metodo IOleObject::Advise (oleidl.h)

Stabilisce una connessione consultiva tra un oggetto documento composto e il sink di avviso dell'oggetto chiamante, tramite il quale l'oggetto chiamante riceve una notifica quando l'oggetto documento composto viene rinominato, salvato o chiuso.

Sintassi

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

Parametri

[in] pAdvSink

Puntatore all'interfaccia IAdviseSink nel sink consigliato dell'oggetto chiamante.

[out] pdwConnection

Puntatore a un token che può essere passato a IOleObject::Unadvise per eliminare la connessione consultiva.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo. Gli altri valori restituiti possibili includono i seguenti:

Codice restituito Descrizione
E_OUTOFMEMORY
Memoria insufficiente disponibile per questa operazione.

Commenti

Il metodo IOleObject::Advise configura una connessione consultiva tra un oggetto e il relativo contenitore, tramite cui l'oggetto informa il sink di chiusura, salvataggio, ridenominazione ed eventi di modifica dell'origine collegamento nell'oggetto. Un contenitore chiama questo metodo, in genere come parte dell'inizializzazione di un oggetto, per registrare il sink consultivo con l'oggetto . In cambio, l'oggetto invia le notifiche del documento composto del contenitore chiamando IAdviseSink o IAdviseSink2.

Se il contenitore e l'oggetto stabiliscono correttamente una connessione consultiva, l'oggetto che riceve la chiamata restituisce un valore diverso da zero tramite pdwConnection al contenitore. Se il tentativo di stabilire una connessione consultiva non riesce, l'oggetto restituisce zero. Per eliminare una connessione consultiva, il contenitore chiama IOleObject::Unadvise e passa di nuovo questo token diverso da zero all'oggetto.

Un oggetto può delegare il processo di gestione e rilevamento degli eventi di consulenza a un titolare di consulenza OLE, a cui si ottiene un puntatore chiamando CreateOleAdviseHolder. L'interfaccia IOleAdviseHolder restituita include tre metodi per l'invio di notifiche di avviso, nonché i metodi IOleAdviseHolder::Advise, IOleAdviseHolder::Unadvise e IOleAdviseHolder::EnumAdvise che sono identici a quelli per IOleObject. Le chiamate a IOleObject::Advise, IOleObject::Unadvise o IOleObject::EnumAdvise vengono delegate ai metodi corrispondenti nel titolare del consiglio.

Per distruggere il titolare del consiglio, chiama semplicemente IUnknown::Release sull'interfaccia IOleAdviseHolder .

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleidl.h

Vedi anche

CreateOleAdviseHolder

IOleAdviseHolder::Advise

Ioleobject

IOleObject::EnumAdvise

IOleObject::Unadvise