Condividi tramite


Metodo IOleAdviseHolder::Advise (oleidl.h)

Stabilisce una connessione consultiva tra un oggetto OLE e il sink consigliato dell'oggetto chiamante. Tramite tale sink, l'oggetto chiamante può ricevere una notifica quando l'oggetto OLE viene rinominato, salvato o chiuso.

Sintassi

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

Parametri

[in] pAdvise

Puntatore all'interfaccia IAdviseSink nel sink consultivo che deve essere informato delle modifiche.

[out] pdwConnection

Puntatore a un token che può essere passato al metodo IOleAdviseHolder::Unadvise per eliminare la connessione consultiva. L'oggetto chiamante è responsabile della chiamata di IUnknown::AddRef e IUnknown::Release su questo puntatore.

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_INVALIDARG
Il puntatore all'interfaccia IAdviseSink fornito non è valido.

Commenti

I contenitori, i gestori di oggetti e gli oggetti di collegamento consentono a tutti di creare sink di ricevere una notifica delle modifiche apportate agli oggetti composti di interesse, ad esempio oggetti incorporati o collegati. Gli oggetti OLE di interesse per questi oggetti devono implementare l'interfaccia IOleObject , che include diversi metodi di consulenza, tra cui IOleObject::Advise. Una chiamata a questo metodo deve configurare una connessione consultiva con qualsiasi sink che lo chiama e mantenere ogni connessione fino a quando non viene chiusa. Deve essere in grado di gestire più connessioni consultive alla volta.

IOleAdviseHolder::Advise deve essere usato per semplificare l'implementazione di IOleObject::Advise. È possibile ottenere un puntatore all'implementazione OLE di IOleAdviseHolder chiamando CreateOleAdviseHolder e quindi, per implementare IOleObject::Advise, è sufficiente delegare la chiamata a IOleAdviseHolder::Advise. Altri metodi IOleAdviseHolder sono progettati per implementare altri metodi di consulenza IOleObject .

Se il tentativo di stabilire una connessione consultiva ha esito positivo, l'oggetto che riceve la chiamata restituisce un valore diverso da zero tramite pdwConnection. Se il tentativo non riesce, l'oggetto restituisce uno zero. Per eliminare una connessione consultiva, l'oggetto con il sink consiglia di passare di nuovo questo token diverso da zero all'oggetto chiamando IOleAdviseHolder::Advise.

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

IOleAdviseHolder

IOleAdviseHolder::EnumAdvise

IOleAdviseHolder::Unadvise

IOleObject::Advise