1 / 16
文档名称:

15统一数据传输.ppt

格式:ppt   大小:71KB   页数:16页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

15统一数据传输.ppt

上传人:szh187166 2019/12/17 文件大小:71 KB

下载得到文件列表

15统一数据传输.ppt

相关文档

文档介绍

文档介绍:(UniformDataTransfer)之前的数据传输:剪贴板,DDE局限性:1。数据格式限制。只能使用预定义的几种格式2。被传输的数据只能位于全局内存中。3。没有双向通讯机制。4。数据格式与传输协议相关。 COM使用数据对象作为数据实体,数据对象通过IDataObject接口暴露其内部信息。数据的传递变成了数据对象的创建和接口指针的传递。(永久对象,数据对象,对象,都有状态.)UDT定义了两个数据结构FORMATETC和STGMEDIUM分别描述数据格式和存储介质以适应广泛的数据类型和存储介质。且提供了双向通讯机制。数据对象可以称为应用之间交换信息的标准。数据对象的IDataObject接口指针。统一的方式访问、操作。数据对象的操作过程频繁地使用了如下的两个数据结构:颊仕滇拭宁抵有伺空联酪遗驴分霓弃广矫烟呢惧饰肖赘迁芹吞瓣撕组墨因15统一数据传输15统一数据传输2typedefstructtagFORMATETC{CLIPFORMATcfFormat;DVTARGETDEVICE*ptd;DWORDdwAspect;LONGlindex;DWORDtymed;}FORMATETC1。CLIPFORMATcfFormat;数据格式。(LPCTSTRlpszFormat//nameofnewformat);可以创建新的数据格式。2。ptd指向DVTARGETDEVICE数据结构typedefstructtagDVTARGETDEVICE{DWORDtdSize;//结构长度WORDtdDriverNameOffset;//设备驱动名WORDtdDeviceNameOffset;//设备名WORDtdPortNameOffset;//端口名WORDtdExtDevmodeOffset;//DEVMODE结构BYTEtdData[1];} DVTARGETDEVICE;莱讲肪器别袜遗迫谨浊产歌苏试骡彻译槽穗郴倪囚土越讨仑等贤肿蜜散铝15统一数据传输15统一数据传输33。dwAspect是一个枚举,指定图形数据的显示方式enumtagDVASPECT{ DVASPECT_CONTENT =1, DVASPECT_THUMBNAIL =2, DVASPECT_ICON =4, DVASPECT_DOCPRINT =8} DVASPECT;4。lindex为dwAspect的补充。5。tymed指定存储介质。可以指定全局内存、磁盘文件、或者存储对象等。另一个常用的结构如下:typedefstructtagSTGMEDIUM{DWORDtymed;union{HBITMAPhBitmap;HMETAFILEPICThMetaFilePict;HENHMETAFILEhEnhMetaFile;HGLOBALhGlobal;LPOLESTRlpszFileName;IStream*pstm;IStorage*pstg;}u;IUnknown*pUnkForRelease;}STGMEDIUM;瓮效晋驮砚云纠绷擅音瓜此自涩惶尚付蹈硼足痒紊钠摧暖赘吨垂玖崇稼鼓15统一数据传输15统一数据传输41。其中tymed指明介质的类型。typedefenumtagTYMED{ 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用来控制数据的释放过程。应用程序可以选择合适的存储介质来传输数据。,它实现了IDataObject接口。一旦应用程序创建了一个数据对象,此对象可以通过任一种传输协议传递到另一个应用。通过协议传送的实际上是IDataObject接口指针。(此传输协议使用了接口的列集,散集过程).发送、接受双方都使用IDataObject接口来操作数据。接口的定义如下:classIDataObject:publicIUnknown{public:virtualHRESULTGetData(FORMATETC*pformatetcIn,[in]STGMEDIUM*pmedium[out])=0;/*接受程序通过传输协议得到数据对象的接口指针后,在pFormatetc中指定提取数据所使用的格式,并把数据放在