- 3
- 0
- 约7.34千字
- 约 16页
- 2017-12-23 发布于上海
- 举报
统一数据传输
十五 统一数据传输 数据格式 数据对象和IDataObject接口 通报连接机制 数据变化通报机制. 数据变化通知的实现方式 通过剪贴板传输数据 MFC对数据对象的支持 1 数据格式 COM提供了UDT(Uniform Data Transfer)作为应用系统之间的数据交换方案。 COM之前的数据传输:剪贴板, DDE 局限性: 1。数据格式限制。只能使用预定义的几种格式 2。被传输的数据只能位于全局内存中。 3。没有双向通讯机制。 4。数据格式与传输协议相关。 COM使用数据对象作为数据实体,数据对象通过IDataObject接口暴露其内部信息。数据的传递变成了数据对象的创建和接口指针的传递。 (永久对象,数据对象,都是COM对象,都有状态.) UDT 定义了两个数据结构FORMATETC 和STGMEDIUM分别描述数据格式和存储介质以适应广泛的数据类型和存储介质。且提供了双向通讯机制。 数据对象可以称为应用之间交换信息的标准。数据对象的IDataObject接口指针。统一的方式访问、操作。 数据对象的操作过程频繁地使用了如下的两个数据结构: typedef struct tagFORMATETC { CLIPFORMAT cfFormat; DVTARGETDEVICE *ptd; DWORD dwAspect; LONG lindex; DWORD tymed; }FORMATETC 1。CLIPFORMAT cfFormat; 数据格式。预定义的数据格式. UINT RegisterClipboardFormat( LPCTSTR lpszFormat // name of new format ); 可以创建新的数据格式。 2。ptd指向DVTARGETDEVICE数据结构 typedef struct tagDVTARGETDEVICE { DWORD tdSize; //结构长度 WORD tdDriverNameOffset; // 设备驱动名 WORD tdDeviceNameOffset;// 设备名 WORD tdPortNameOffset; // 端口名 WORD tdExtDevmodeOffset; // DEVMODE结构 BYTE tdData[ 1 ]; } DVTARGETDEVICE; 3。dwAspect 是一个枚举,指定图形数据的显示方式 enum tagDVASPECT { DVASPECT_CONTENT = 1, DVASPECT_THUMBNAIL = 2, DVASPECT_ICON = 4, DVASPECT_DOCPRINT = 8 } DVASPECT; 4。lindex为dwAspect的补充。 5。tymed指定存储介质。可以指定全局内存、磁盘文件、或者存储对象等。 另一个常用的结构如下: typedef struct tagSTGMEDIUM { DWORD tymed; union { HBITMAP hBitmap; HMETAFILEPICT hMetaFilePict; HENHMETAFILE hEnhMetaFile; HGLOBAL hGlobal; LPOLESTR lpszFileName; IStream *pstm; IStorage *pstg; } u; IUnknown *pUnkForRelease; }STGMEDIUM; 1。其中tymed指明介质的类型。 typedef enum tagTYMED { TYMED_HGLOBAL = 1, TYMED_FILE = 2, TYMED_ISTREAM = 4, TYMED_ISTORAGE = 8, TYMED_GDI = 16, TYMED_MFPICT = 32, TYMED_ENHMF = 64, TYMED_NULL = 0 } TYMED; 2。联合成员u指明数据的真正位置,根据tymed的值使用相应的联合成员。 3。pUnkownForRelease用来控制数据的释放过程。 应用程序可以选择合适的存储介质来传输数据。 这两个数据结构用于数据对象的各种操作之中. 2 数据对象和IDataObject接口 数据对象是一个COM对象,它实现了IDataObject接口。一旦应用程序创建了一个数据对象,此对象可以通过任一种传输协议传递
您可能关注的文档
- 第三章太阳病2.ppt
- 第三四章 万维网与电子邮件.ppt
- 第七章橡胶的成型原理.ppt
- 第三章溷合.ppt
- 第三章空间数据模型第三节2矢量数据处理.ppt
- 第三章金属材料的性能.ppt
- 第三章风险投资的组织.ppt
- 第三章 领悟人生真谛 创造人生价值.ppt
- 第三讲 主动和谐相处 ——营造良好人际关系.ppt
- 第三章语音11.ppt
- 数据安全在企业档案管理中的实践.docx
- 校本信息技术培训档案管理.docx
- 6.2.3&6.2.4+第一课时++组合与组合数公式课件-2025-2026学年高二下学期数学人教A版选择性必修第三册.pptx
- 6.2.3&6.2.4+第二课时++组合的综合应用课件-2025-2026学年高二下学期数学人教A版选择性必修第三册.pptx
- 财产险理赔流程操作规范详解.docx
- 6.2.4++组合数+课件-2025-2026学年高二下学期数学人教A版选择性必修第三册.pptx
- 6.2.5+排列组合的综合应用课件-2025-2026学年高二下学期数学人教A版选择性必修第三册.pptx
- 企业社保管理岗位职责与操作流程.docx
- 6.3.1++二项式定理+课件-2025-2026学年高二下学期数学人教A版选择性必修第三册.pptx
- 幼儿园教师工作日志模板及范例.docx
原创力文档

文档评论(0)