Metodo IViewObject::SetAdvise (oleidl.h)

Stabilisce una connessione tra l'oggetto view e un sink di consigli in modo che il sink di consigli possa ricevere una notifica sulle modifiche nella visualizzazione dell'oggetto.

Sintassi

HRESULT SetAdvise(
  [in] DWORD       aspects,
  [in] DWORD       advf,
  [in] IAdviseSink *pAdvSink
);

Parametri

[in] aspects

Visualizzazione per la quale viene configurata la connessione consultiva. I valori validi vengono acquisiti dall'enumerazione DVASPECT. Per altre informazioni, vedere l'enumerazione DVASPECT .

[in] advf

Contiene un gruppo di flag per il controllo della connessione consultiva. I valori validi provengono dall'enumerazione ADVF. Tuttavia, solo alcuni dei possibili valori ADVF sono rilevanti per questo metodo. La tabella seguente descrive brevemente i valori pertinenti. Per una descrizione più dettagliata, vedere l'enumerazione ADVF .

Valore Significato
ADVF_ONLYONCE
Causa l'eliminazione della connessione consultiva dopo l'invio della prima notifica.
ADVF_PRIMEFIRST
Causa l'invio di una notifica iniziale indipendentemente dal fatto che i dati siano stati modificati dallo stato corrente.
 
Nota Il ADVF_ONLYONCE e ADVF_PRIMEFIRST può essere combinato per fornire una chiamata asincrona a IDataObject::GetData.
 

[in] pAdvSink

Puntatore all'interfaccia IAdviseSink nel sink di consulenza che deve essere informato delle modifiche. Un valore NULL elimina qualsiasi connessione consultiva esistente.

Valore restituito

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

Codice restituito Descrizione
OLE_E_ADVISENOTSUPPORTED
Le notifiche di consulenza non sono supportate.
DV_E_DVASPECT
Valore non valido per dwAspect.
E_INVALIDARG
Uno o più dei valori forniti non sono validi.
E_OUTOFMEMORY
Memoria insufficiente disponibile per questa operazione.

Commenti

Un'applicazione contenitore che richiede un'operazione di disegno in un oggetto view può anche registrarsi con il metodo IViewObject::SetAdvise per ricevere una notifica quando la presentazione dell'oggetto di visualizzazione cambia. Per scoprire quando cambiano i dati sottostanti di un oggetto, è necessario chiamare separatamente IDataObject::D Advise .

Per rimuovere una connessione consultiva esistente, chiamare il metodo IViewObject::SetAdvise con pAdvSink impostato su NULL.

Se l'oggetto view cambia, viene effettuata una chiamata al sink di consigli appropriato tramite il relativo metodo IAdviseSink::OnViewChange .

In qualsiasi momento, un determinato oggetto di visualizzazione può supportare una sola connessione consultiva. Pertanto, quando viene chiamato IViewObject::SetAdvise e l'oggetto di visualizzazione è già in possesso di un puntatore sink consigliato, OLE rilascia il puntatore esistente prima della registrazione del nuovo.

Requisiti

   
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

ADVF

Iadvisesink

IViewObject

IViewObject::GetAdvise