IDataObjectImpl 类

此类提供用于支持统一数据传输和管理连接的方法。

重要

无法在 Windows 运行时中执行的应用程序中使用此类及其成员。

语法

template<class T>
class IDataObjectImpl

参数

T
你的类,派生自 IDataObjectImpl

成员

公共方法

名称 描述
IDataObjectImpl::DAdvise 在数据对象与建议接收器之间建立连接。 这使建议接收器能够接收对象中更改的通知。
IDataObjectImpl::DUnadvise 终止先前通过 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 类提供了 IDataObject 的默认实现,并通过在调试版本中向转储设备发送信息来实现 IUnknown

相关文章ATL 教程创建 ATL 项目

继承层次结构

IDataObject

IDataObjectImpl

要求

标头:atlctl.h

IDataObjectImpl::DAdvise

在数据对象与建议接收器之间建立连接。

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

注解

这使建议接收器能够接收对象中更改的通知。

若要终止连接,请调用 DUnadvise

请参阅 Windows SDK 中的 IDataObject::DAdvise

IDataObjectImpl::DUnadvise

终止先前通过 DAdvise 建立的连接。

HRESULT DUnadvise(DWORD dwConnection);

备注

请参阅 Windows SDK 中的 IDataObject::DUnadvise

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

另请参阅

类概述