Condividi tramite


Classe IDataObjectImpl

Questa classe fornisce metodi per supportare uniform data transfer e gestire le connessioni.

Importante

Questa classe e i relativi membri non possono essere usati nelle applicazioni eseguite in Windows Runtime.

Sintassi

template<class T>
class IDataObjectImpl

Parametri

T
Classe derivata da IDataObjectImpl.

Membri

Metodi pubblici

Nome Descrizione
IDataObjectImpl::D Advise Stabilisce una connessione tra l'oggetto dati e un sink di avviso. Ciò consente al sink di consigliare di ricevere notifiche di modifiche nell'oggetto.
IDataObjectImpl::D Unadvise Termina una connessione stabilita in precedenza tramite DAdvise.
IDataObjectImpl::EnumDAdvise Crea un enumeratore per scorrere le connessioni consultive correnti.
IDataObjectImpl::EnumFormatEtc Crea un enumeratore per scorrere le FORMATETC strutture supportate dall'oggetto dati. L'implementazione ATL restituisce E_NOTIMPL.
IDataObjectImpl::FireDataChange Invia una notifica di modifica a ogni sink di avviso.
IDataObjectImpl::GetCanonicalFormatEtc Recupera una struttura logicamente equivalente FORMATETC a una struttura più complessa. L'implementazione ATL restituisce E_NOTIMPL.
IDataObjectImpl::GetData Trasferisce i dati dall'oggetto dati al client. I dati vengono descritti in una FORMATETC struttura e trasferiti tramite una STGMEDIUM struttura.
IDataObjectImpl::GetDataHere Analogamente a GetData, ad eccezione del client deve allocare la STGMEDIUM struttura. L'implementazione ATL restituisce E_NOTIMPL.
IDataObjectImpl::QueryGetData Determina se l'oggetto dati supporta una struttura specifica FORMATETC per il trasferimento dei dati. L'implementazione ATL restituisce E_NOTIMPL.
IDataObjectImpl::SetData Trasferisce i dati dal client all'oggetto dati. L'implementazione ATL restituisce E_NOTIMPL.

Osservazioni:

L'interfaccia IDataObject fornisce metodi per supportare Uniform Data Transfer. IDataObject utilizza le strutture di formato standard FORMATETC e STGMEDIUM per recuperare e archiviare i dati.

IDataObject gestisce anche le connessioni per consigliare ai sink di gestire le notifiche di modifica dei dati. Affinché il client riceva notifiche di modifica dei dati dall'oggetto dati, il client deve implementare l'interfaccia IAdviseSink su un oggetto denominato sink di avviso. Quando il client chiama IDataObject::DAdvise, viene stabilita una connessione tra l'oggetto dati e il sink di avviso.

La classe IDataObjectImpl fornisce un'implementazione predefinita di IDataObject e implementa inviando informazioni al dispositivo di dump nelle compilazioni IUnknown di debug.

Esercitazione su ATL per articolicorrelati, creazione di un progetto ATL

Gerarchia di ereditarietà

IDataObject

IDataObjectImpl

Requisiti

Intestazione: atlctl.h

IDataObjectImpl::D Advise

Stabilisce una connessione tra l'oggetto dati e un sink di avviso.

HRESULT DAdvise(
    FORMATETC* pformatetc,
    DWORD advf,
    IAdviseSink* pAdvSink,
    DWORD* pdwConnection);

Osservazioni:

Ciò consente al sink di consigliare di ricevere notifiche di modifiche nell'oggetto.

Per terminare la connessione, chiamare DUnadvise.

Vedere IDataObject::D Advise in Windows SDK.

IDataObjectImpl::D Unadvise

Termina una connessione stabilita in precedenza tramite DAdvise.

HRESULT DUnadvise(DWORD dwConnection);

Osservazioni:

Vedere IDataObject::D Unadvise in Windows SDK.

IDataObjectImpl::EnumDAdvise

Crea un enumeratore per scorrere le connessioni consultive correnti.

HRESULT DAdvise(
    FORMATETC* pformatetc,
    DWORD advf,
    IAdviseSink* pAdvSink,
    DWORD* pdwConnection);

Osservazioni:

Vedere IDataObject::EnumDAdvise in Windows SDK.

IDataObjectImpl::EnumFormatEtc

Crea un enumeratore per scorrere le FORMATETC strutture supportate dall'oggetto dati.

HRESULT EnumFormatEtc(
    DWORD dwDirection,
    IEnumFORMATETC** ppenumFormatEtc);

Osservazioni:

Vedi IDataObject::EnumFormatEtc in Windows SDK.

Valore restituito

Restituisce E_NOTIMPL.

IDataObjectImpl::FireDataChange

Invia una notifica di modifica a ogni sink che è attualmente in fase di gestione.

HRESULT FireDataChange();

Valore restituito

Valore HRESULT standard.

IDataObjectImpl::GetCanonicalFormatEtc

Recupera una struttura logicamente equivalente FORMATETC a una struttura più complessa.

HRESULT GetCanonicalFormatEtc(FORMATETC* pformatetcIn, FORMATETC* pformatetcOut);

Valore restituito

Restituisce E_NOTIMPL.

Osservazioni:

Vedere IDataObject::GetCanonicalFormatEtc in Windows SDK.

IDataObjectImpl::GetData

Trasferisce i dati dall'oggetto dati al client.

HRESULT GetData(
    FORMATETC* pformatetcIn,
    STGMEDIUM* pmedium);

Osservazioni:

Il parametro pformatetcIn deve specificare un tipo di supporto di archiviazione di TYMED_MFPICT.

Vedere IDataObject::GetData in Windows SDK.

IDataObjectImpl::GetDataHere

Analogamente a GetData, ad eccezione del client deve allocare la STGMEDIUM struttura.

HRESULT GetDataHere(
    FORMATETC* pformatetc,
    STGMEDIUM* pmedium);

Valore restituito

Restituisce E_NOTIMPL.

Osservazioni:

Vedere IDataObject::GetDataHere in Windows SDK.

IDataObjectImpl::QueryGetData

Determina se l'oggetto dati supporta una struttura specifica FORMATETC per il trasferimento dei dati.

HRESULT QueryGetData(FORMATETC* pformatetc);

Valore restituito

Restituisce E_NOTIMPL.

Osservazioni:

Vedere IDataObject::QueryGetData in Windows SDK.

IDataObjectImpl::SetData

Trasferisce i dati dal client all'oggetto dati.

HRESULT SetData(
    FORMATETC* pformatetc,
    STGMEDIUM* pmedium,
    BOOL fRelease);

Valore restituito

Restituisce E_NOTIMPL.

Osservazioni:

Vedere IDataObject::SetData in Windows SDK.

Vedi anche

Cenni preliminari sulla classe