Metodo IDataAdviseHolder::Advise (objidl.h)
Crea una connessione tra un sink di avviso e un oggetto dati per la ricezione di notifiche.
Sintassi
HRESULT Advise(
[in] IDataObject *pDataObject,
[in] FORMATETC *pFetc,
[in] DWORD advf,
[in] IAdviseSink *pAdvise,
[out] DWORD *pdwConnection
);
Parametri
[in] pDataObject
Puntatore all'interfaccia IDataObject nell'oggetto dati per cui vengono richieste le notifiche. Se i dati in questo oggetto cambiano, viene inviata una notifica ai sink che hanno richiesto la notifica.
[in] pFetc
Puntatore a una struttura FORMATETC che contiene il formato, il supporto e il dispositivo di destinazione specificati che è di interesse per il sink che richiede la notifica. Ad esempio, è possibile che un sink desideri sapere solo quando la rappresentazione bitmap dei dati dell'oggetto dati viene modificata. Un altro sink potrebbe essere interessato solo al formato di metafile dello stesso oggetto. Ogni sink di notifica viene notificato quando i dati di interesse vengono modificati. Questi dati vengono passati nuovamente al sink di notifica quando si verifica la notifica.
[in] advf
Gruppo di flag che controllano la connessione consultiva. I valori possibili provengono dall'enumerazione ADVF . Tuttavia, solo alcuni dei possibili valori ADVF sono rilevanti per questo metodo. La tabella seguente descrive brevemente i valori pertinenti; Una descrizione più dettagliata è disponibile nella descrizione dell'enumerazione ADVF .
Valore | Significato |
---|---|
|
Chiede che non vengano inviati dati insieme alla notifica. |
|
Fa sì che la connessione di avviso venga eliminata definitivamente dopo l'invio della prima notifica. Viene effettuata una chiamata implicita a IDataAdviseHolder::Unadvise per conto del chiamante per rimuovere la connessione. |
|
Fa sì che venga inviata una notifica iniziale indipendentemente dal fatto che i dati siano stati modificati dallo stato corrente. |
|
Se specificato con ADVF_NODATA, questo flag causa l'invio di un'ultima notifica con i dati inclusi prima che l'oggetto dati venga eliminato definitivamente. Quando non viene specificato ADVF_NODATA, questo flag non ha alcun effetto. |
[in] pAdvise
Puntatore all'interfaccia IAdviseSink nel sink di avviso che riceve la notifica di modifica.
[out] pdwConnection
Puntatore a una variabile che riceve un token che identifica questa connessione. L'oggetto chiamante può successivamente eliminare la connessione consultiva passando questo token a IDataAdviseHolder::Unadvise. Se il valore è zero, la connessione non è stata stabilita.
Valore restituito
Questo metodo restituisce S_OK se l'operazione ha esito positivo.
Commenti
Tramite la connessione stabilita tramite questo metodo, il sink consultivo può ricevere notifiche future in una chiamata a IAdviseSink::OnDataChange.
Un oggetto invia una chiamata a IDataObject::D Advise per richiedere notifiche sulle modifiche apportate al formato, al supporto o al dispositivo di destinazione di interesse. Questi dati vengono specificati nel parametro pFormatetc . Il metodo DAdvise viene in genere implementato per chiamare IDataAdviseHolder::Advise per delegare l'attività di configurazione e rilevamento di una connessione al titolare del consiglio. Quando cambia il formato, il supporto o il dispositivo di destinazione in questione, l'oggetto dati chiama IDataAdviseHolder::SendOnDataChange per inviare le notifiche necessarie.
La connessione stabilita può essere eliminata passando il valore in pdwConnection in una chiamata a IDataAdviseHolder::Unadvise.
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 | objidl.h |