共用方式為


IDataObjectImpl 類別

這個類別提供支援統一數據傳輸和管理連線的方法。

重要

這個類別及其成員不能用於在 Windows 執行階段 中執行的應用程式。

語法

template<class T>
class IDataObjectImpl

參數

T
您的類別衍生自 IDataObjectImpl

成員

公用方法

名稱 描述
IDataObjectImpl::D Advise 建立數據對象與建議接收之間的連線。 這可讓建議接收接收物件中變更的通知。
IDataObjectImpl::D Unadvise 終止先前透過 DAdvise建立的連接。
IDataObjectImpl::EnumDAdvise 建立列舉值,以逐一查看目前的諮詢連線。
IDataObjectImpl::EnumFormatEtc 建立列舉值,逐一查看 FORMATETC 數據物件所支持的結構。 ATL 實作會傳回E_NOTIMPL。
IDataObjectImpl::FireDataChange 將變更通知傳回給每個建議接收。
IDataObjectImpl::GetCanonicalFormatEtc 擷取邏輯上對等 FORMATETC 結構,與更複雜的結構。 ATL 實作會傳回E_NOTIMPL。
IDataObjectImpl::GetData 將數據從資料物件傳輸到用戶端。 數據會在結構中 FORMATETC 描述,並透過 STGMEDIUM 結構傳輸。
IDataObjectImpl::GetDataHere 類似於 GetData,客戶端必須配置 STGMEDIUM 結構。 ATL 實作會傳回E_NOTIMPL。
IDataObjectImpl::QueryGetData 判斷數據物件是否支援傳輸數據的特定 FORMATETC 結構。 ATL 實作會傳回E_NOTIMPL。
IDataObjectImpl::SetData 將數據從用戶端傳輸到資料物件。 ATL 實作會傳回E_NOTIMPL。

備註

IDataObject 介面提供支持統一數據傳輸的方法。 IDataObject 會使用標準格式結構 FORMATETCSTGMEDIUM 來擷取和儲存數據。

IDataObject 也會管理連線,以建議接收處理數據變更通知。 為了讓客戶端從數據物件接收數據變更通知,客戶端必須在名為建議接收的對象上實 作 IAdviseSink 介面。 用戶端接著呼叫 IDataObject::DAdvise時,會在數據對象與建議接收之間建立連線。

類別IDataObjectImpl會藉由在偵錯組建中將資訊傳送至傾印裝置,提供和 IUnknown 實作的默認IDataObject實作。

相關文章 ATL 教學課程建立 ATL 專案

繼承階層架構

IDataObject

IDataObjectImpl

需求

標頭: atlctl.h

IDataObjectImpl::D Advise

建立數據對象與建議接收之間的連線。

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

備註

這可讓建議接收接收物件中變更的通知。

若要終止連線,請呼叫 DUnadvise

請參閱 Windows SDK 中的 IDataObject::D Advise

IDataObjectImpl::D Unadvise

終止先前透過 DAdvise 建立的連接

HRESULT DUnadvise(DWORD dwConnection);

備註

請參閱 Windows SDK 中的 IDataObject::D Unadvise

IDataObjectImpl::EnumDAdvise

建立列舉值,以逐一查看目前的諮詢連線。

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

備註

請參閱 Windows SDK 中的 IDataObject::EnumDAdvise

IDataObjectImpl::EnumFormatEtc

建立列舉值,逐一查看 FORMATETC 數據物件所支持的結構。

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

備註

請參閱 Windows SDK 中的 IDataObject::EnumFormatEtc

傳回值

傳回E_NOTIMPL。

IDataObjectImpl::FireDataChange

將變更通知傳回目前正在管理的每個建議接收。

HRESULT FireDataChange();

傳回值

標準 HRESULT 值。

IDataObjectImpl::GetCanonicalFormatEtc

擷取邏輯上對等 FORMATETC 結構,與更複雜的結構。

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

傳回值

傳回E_NOTIMPL。

備註

請參閱 Windows SDK 中的 IDataObject::GetCanonicalFormatEtc

IDataObjectImpl::GetData

將數據從資料物件傳輸到用戶端。

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

備註

pformatetcIn 參數必須指定TYMED_MFPICT的儲存媒體類型。

請參閱 Windows SDK 中的 IDataObject::GetData

IDataObjectImpl::GetDataHere

類似於 GetData,客戶端必須配置 STGMEDIUM 結構。

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

傳回值

傳回E_NOTIMPL。

備註

請參閱 Windows SDK 中的 IDataObject::GetDataHere

IDataObjectImpl::QueryGetData

判斷數據物件是否支援傳輸數據的特定 FORMATETC 結構。

HRESULT QueryGetData(FORMATETC* pformatetc);

傳回值

傳回E_NOTIMPL。

備註

請參閱 Windows SDK 中的 IDataObject::QueryGetData

IDataObjectImpl::SetData

將數據從用戶端傳輸到資料物件。

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

傳回值

傳回E_NOTIMPL。

備註

請參閱 Windows SDK 中的 IDataObject::SetData

另請參閱

類別概觀