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
使用标准格式结构 FORMATETC 和 STGMEDIUM 检索和存储数据。
IDataObject
还管理连接,以建议接收器处理数据更改通知。 为了使客户端从数据对象接收数据更改通知,客户端必须在名为建议接收器的对象上实现 IAdviseSink 接口。 客户端随后调用 IDataObject::DAdvise
时,会在数据对象与建议接收器之间建立连接。
IDataObjectImpl
类提供了 IDataObject
的默认实现,并通过在调试版本中向转储设备发送信息来实现 IUnknown
。
继承层次结构
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。