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
會使用標準格式結構 FORMATETC 和 STGMEDIUM 來擷取和儲存數據。
IDataObject
也會管理連線,以建議接收處理數據變更通知。 為了讓客戶端從數據物件接收數據變更通知,客戶端必須在名為建議接收的對象上實 作 IAdviseSink 介面。 用戶端接著呼叫 IDataObject::DAdvise
時,會在數據對象與建議接收之間建立連線。
類別IDataObjectImpl
會藉由在偵錯組建中將資訊傳送至傾印裝置,提供和 IUnknown
實作的默認IDataObject
實作。
繼承階層架構
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 。