关于动态数据交换
电子课件-《工业组态软件应用技术——组态王6.5》-B02-1994 项目九 任务1组态王与Excel间的数据交换

项目九 网络功能
二、I/O设备创建
通过“设备配置向导”,选择“DDE”设备,单击“下一步” 按钮,在逻辑名称中输入DDE设备对象名为“Excel”,单击“下 一步”按钮,打开如图9-1-3所示DDE设备设置向导对话框。
图9-1-3 DDE设备设置向导对话框
项目九 网络功能
服务程序名设为“Excel”,话题名设为“sheet1”,数据 交换方式选择“标准的Windows项目交换”,单击“下一步”按 钮,弹出已配置的DDE设备的信息总结列表框,如图9-1-4所示, 确认后单击“完成”按钮。
项目九 网络功能
思考与练习
1.简述DDE的概念。 2.简述组态王访问Excel表格数据的连接方法。 3.简述Excel表格访问读取组态王数据的连接方法。
图9-1-1 数据交换画面
项目九 网络功能
相关知识
动态数据交换的概念
组态王支持动态数据交换(DDE:Dynamic Data Exchange), 能够和其他支持动态数据交换的应用程序方便地交换数据。通过 DDE,工程人员可以利用计算机丰富的软件资源来扩充组态王的 功能;可以利用VISUAL BASIC开发服务程序,完成数据采集、 报表打印、多媒体声光报警等功能,从而很容易组成一个完备的 上位机管理系统;还可以和数据库程序、人工智能程序、专家系 统等进行通信。
属性
Form1
单元 控件的名称
r2c2 Text
项目九 网络功能
任务实施
一、新建工程
1.创建新工程 新建“组态王与Excel间的数据交换”工程,创建画面,设 置画面名称为“Excel数据交换”,注释为“组态王与Excel间的 数据交换”,显示宽度和高度分别为800、400,画面宽度和高度 为810、410,其他属性采用默认值。 2.画面设计 按图9-1-1中绘制相应的文字。 3.保存画面
一种支持续传的动态加密数据交换模型

、
动态生 成DE 密钥结合 R A的加 密方案 S S
长度值N 共同经R A I S  ̄ 密后 的密文。因N由某种算法随机生 成 ,
时 当前 ,基于 ̄ D S E 等的对称加密算法因其加密、解密 故各数据包长度是不等 的。当分包数为s ,传输数据中共存在 I E 、A S s 个动态生成的6 iD S 4 t E 密钥和S 4b 密文长度信息 。当采用 b 个6 i t 速度较快而被普遍应用与大数据量传输 中,然而 ,对称加密算 E  ̄ 密算法 为非冗 余 ,即明文数据与密文数据等长 时 ,所 法存在诸如 自身安全性不高、加密 和解 密采用 同一密钥而带来 的D S I 为18 i 。 密钥传播等固有问题。而以R A S 算法【 l 】 为代表 的非对称加密体 系 有数据包所产生 的通信 开销嘲 2 ×Sbt 具备更高的强度 ,公钥一 私钥体系更富灵活性 ,不过 ,非对称加 密解密算法普遍存在 的问题就是运算量大 ,因而非对称算法并
图 :采 用动态 生成 D '结合 P A/1 数据片段 E -  ̄  ̄ 1 1 峦的
( ) 下载 与 解 密 三
长度 可等长或不等长) 。与此同时 , 将该 D S E 密钥及 M 值捆绑 ,
仅 当接 收端 解密数据 时 ,动态生成 的D S E 密钥被R A私钥 S
E 密钥 的 “ 一次性 ”使用 , 共 同由接收端 的R A S 公钥加密为一段密文 ,并同N 字节源数据加 解 开并 仪使用一 次 ,因此 实现 了D S 密后 的密文 ,一 同作为一个数据包上传至仓库 。客户端继续工 避免了同一密钥重复使用和反复传播带来的风险。
(. 大学软 件 学院 ;2英特 尔公 司,上 海 2 10) 1同济 . 084
E 密钥 和随机数N,重复上述过程 ,发送第 摘 要 :文章讨论 当前企业应 用 中普遍存在 的大数据量存储 作 ,重新生成随机D S
动态数据交换(dde)及其应用实例

动态数据交换(dde)及其应用实例
动态数据交换(DDE)是一种利用Windows消息系统实现应用程序之间数据共享的技术。
其实现的原理是通过发送Windows消息,实现应用程序之间的双向数据传输。
DDE在许多软件应用中有着广泛的应用,例如Excel、Word、Access等。
比如,用户可以在Excel中创建一个表格,然后在Word中插入该表格,用户在Excel中修改表格的任何一个单元格的内容,Word中的表格也会立即更新;又如,将Access数据库中的数据结构转换为Excel数据表,并可以用Excel操作Access数据库;当然还可以通过DDE实现不同程序之间的实时双向数据交换。
交换机的交换模式及主要性能指标

交换机交换模式及性能指标目录目录 (1)1交换机交换模式 (2)1.1快速转发交换模式(cut-through) (2)1.2碎片丢弃交换模式(fragment free) (3)1.3存储转发交换模式(store and forward) (3)1.4 各种转发模式图解 (4)1.5 IBM G8264系列交换机交换模式的操作 (4)2交换机的性能指标 (5)2.1背板带宽(backplane bandwidth) (5)2.2 线速(Line Speed/Line Rate) (5)2.3包的转发率(PPS) (6)2.4吞吐量(throughput) (6)2.6 MAC地址表容量 (8)2.6.1 MAC地址 (8)2.6.2 MAC址址表 (9)2.7其它一些技术批标 (11)2.8 MAC地址表应用实例 (11)2.9支持超大帧(Jumbo) (13)2.10 Microburst流量突出处理 (14)2.11 IBM G8264与其它厂商交换机性能指标对比实例 (14)1交换机交换模式交换机的交换模式包括静态和动态两种。
静态交换是由人工来完成端口之间传输通道的建立;动态交换是通过对目的MAC地址的查询,得到的输出端口来临时建立传输通道的,这个传输通道在数据帧传送完成后自动断开。
目前,交换机最常采用的交换模式是动态交换模式。
动态交换模式主要有:快速转发、碎片丢弃和存储转发三种模式。
1.1快速转发交换模式(cut-through)快速转发交换模式是指交换机在接收数据帧时,一旦检测到前6个字节—即目的地址就立即进行转发。
由于数据帧在进行转发处理时仅对目的MAC地址部分复制到缓冲区,并不是复制一个完整的帧,所以这个数据帧在转发之前没有经过校验和纠错,从而有可能导致错误的数据帧被转发出去。
快速转发交换模式的优点在于端口交换延迟小,交换速度快;缺点是在质量较差的物理链路上传输质量可靠性差,因此它适合于小型的交换机。
国家卫生和计划生育委员会流动人口服务中心关于受理流动人口动态监测数据申请的通知

国家卫生和计划生育委员会流动人口服务中心关于受理流动人口动态监测数据申请的通知文章属性•【制定机关】国家卫生和计划生育委员会(已撤销)•【公布日期】2014.10.20•【文号】流服发[2014]1号•【施行日期】2014.10.20•【效力等级】部门规范性文件•【时效性】现行有效•【主题分类】计划生育正文国家卫生和计划生育委员会流动人口服务中心关于受理流动人口动态监测数据申请的通知(流服发〔2014〕1号)各有关单位:为掌握我国流动人口数量、分布及流动迁移等情况,原国家人口计生委自2009年开始,每年在全国范围内组织流动人口动态监测调查,5年来积累了宝贵的数据资源。
为更好地挖掘、应用此数据,为相关政府部门出台政策和研究机构开展研究提供依据,国家卫生计生委流动人口服务中心现受国家卫生计生委流动人口计划生育服务管理司委托,承担流动人口动态监测数据的应用推广项目。
现就受理2014年度数据申请工作通告如下:一、申请主体及数据范围(一)申请主体。
动态监测数据申请主体为科研机构、高校及其所属事业单位(或内设机构)、具有独立法人资格的企业等单位,主要用于决策参考及学术研究。
不接受以个人名义提交的数据申请。
(二)申请数据范围。
本次受理申请数据范围包括2009-2014年5年的数据,主要涉及流动人口生存发展状况、迁移特征、就业收入、居住情况、社会融合、心理健康、基本公共服务、基本医疗服务、基本社会保险等内容。
二、申请数据分类方式(一)申请2013年及以前年度数据。
对初次直接提交使用申请的单位,只能申请一年的数据;对通过数据交换方式初次提交申请的单位,可申请两年的数据;对原有数据合作的单位,在提交相关数据研究成果的同时,可申请多年数据。
(二)申请2014年度数据。
无论采用何种方式提交数据申请,均应在提交申请书的同时附研究课题方案,明确研究课题背景、项目名称、主要研究内容、时间进度及预期成果等,其中课题方向应为人口迁移、基本公共卫生计生服务、医疗卫生改革发展、流动人口社会融合等相关内容。
《自动驾驶地图动态信息数据交换格式》-编制说明

《自动驾驶地图动态信息数据交换格式》编制说明一、工作简况1.1任务来源《自动驾驶地图动态信息数据交换格式》团体标准是由中国汽车工程学会批准立项。
文件号中汽学函【2019】260号,任务号为2019-44。
本标准由中国智能网联汽车产业创新联盟提出,北京华为数字技术有限公司牵头起草,清华大学、国汽(北京)智能网联汽车研究院有限公司、国汽智图(北京)科技有限公司、易图通科技(北京)有限公司、广东星舆科技有限公司、博世汽车部件(苏州)有限公司、中移智行网络科技有限公司等单位参与起草。
1.2编制背景与目标近年来随着自动驾驶产业的发展,自动驾驶地图成为高级别智能驾驶的重要使能技术。
对于高级别自动驾驶汽车而言,自动驾驶地图不仅需要包含静态高精度地图,还需要包含动态信息(图层),从而为车辆提供实时的交通拥堵、道路施工、交通事故、交通管制、信号灯、交通参与者等信息,为车辆的定位、融合感知和决策规划提供更丰富的信息,以提高自动驾驶车辆的安全性、舒适性和高效性。
目前国内尚无面向自动驾驶地图的动态信息数据交换格式相关标准,自动驾驶领域的快速发展提出了对相关标准的研制需求。
因此,针对上述需求,本标准结合高精地图静态地图的技术规格,研究高精度地图动态信息的分层组织管理及数据表达模型,对典型动态信息制定标准化数据交换格式,从而为企业提供技术开发依据,规范化自动驾驶领域地图产品,推动自动驾驶相关领域的技术落地。
1.3主要工作过程本标准于2019年11月正式立项,并开始组建标准工作组,进行标准学习;2019年12月至2020年7月,开展详细方案的调研和积累,编写标准大纲框架。
2020年8月,召开标准工作组第一次全体会议,重点讨论标准的框架结构和工作组整体计划安排。
各单位提出对内容撰写方向、框架内容等的问题并开展讨论。
参加本次会议的单位有北京华为数字技术有限公司、清华大学、国汽(北京)智能网联汽车研究院有限公司、国汽智图(北京)科技有限公司、易图通科技(北京)有限公司、博世汽车部件(苏州)有限公司、中移智行网络科技有限公司、武汉大学、北京瑞迪时空信息技术有限公司、北京百度智行科技有限公司、北京初速度科技有限公司,共11家单位。
iFIX与MATLAB间的数据交换技术及其应用

收稿日期:2008-03-24作者简介:盛 凯(1985-),男,湖北武汉人,硕士生,研究方向为电厂化学过程自动控制与故障诊断。
i FI X 与MAT LAB 间的数据交换技术及其应用盛 凯,曹顺安,李 睿(武汉大学动力与机械学院,湖北武汉430072) 摘要:介绍了iFI X 与MAT LAB 的3种数据交换技术DDE 、OPC 和ActiveX,详细阐述了用DDE 和OPC 技术实现iFI X 与MAT LAB 间数据交换的具体过程,并结合电厂水汽化学过程监控系统,介绍了工控组态软件iFI X 与MAT LAB 之间3种数据交换技术的设计、实现和应用,具有重要的应用价值。
关键词:iF I X;MAT LAB;数据交换中图分类号:T M769 文献标识码:A 文章编号:1000-0682(2008)06-0066-05Da t a exchange technology between i F I X and M ATLAB and its appli ca ti onSHE NG Kai,CAO Shun 2an,L I Rui(College of Po w er &M achine underW uhan U niversity,Hubei W uhan 430072,China ) Abstract:This paper describes three kinds of data exchange technol ogies bet w een iF I X and MAT 2LAB ,which are DDE 、OPC and ActiveX .Both DDE and OPC are used t o i m p le ment the s pecific p r ocess of the data exchange bot w een iF I X and MAT LAB ,which is discussed in detail and de monstrated in a mo 2nit oring syste m f or water and stea m che m istry p r ocess in power p lant .The design and realizati on of these data exchange technol ogies and their app licati on are als o p resented in the paper,which have great p racti 2cal value .Key words:iF I X;MAT LAB;data exchange0 引言 工业PC +P LC 控制器是常见的分布式监控系统结构,P LC 作为现场控制站来完成过程参数的数据采集并将采集的数据传送到操作站,同时实现闭环过程控制,或接受操作站发出的控制策略,实现控制信号输出等功能;操作站的工业PC 机通常运行组态软件,接收控制站传递过来的各种过程参数信号,并进行处理、分析和储存,实现数据、曲线、报警和报表的实时显示,或进一步进行数据挖掘实现过程设备的故障诊断,通过人机对话对下位机的过程控制参数进行修改调整。
数据交换

数据交换技术一、数据交换概述在多个数据终端设备(DTE)之间,为任意两个终端设备建立数据通信临时互连通路的过程称为数据交换。
交换技术是在欲进行通信的双方之间建立物理的和逻辑的连接,实现通信双方的信息传输和交换的一种技术。
数据通信网中任一用户与其他用户通信时,在交换中心局进行的接转操作方式。
采用数据交换可有效地利用数据通信网中的通信设备和电路。
需要交换的数据一般可以分为实时数据和允许等待的非实时数据。
这两种数据的流通特性不同,因而可采用不同的数据交换方式。
数据交换方式可分为电路交换和存储转发交换两类。
前者适合传输实时数据,后者适合传输非实时数据或实时性要求不高的数据。
二、数据交换的必要性点对点的通信:两端用户通过信道直接连接起来所构成的通信方式是点对点的通信。
数据交换的必要性:多个用户之间要进行数据通信,如果任意两个用户之间都有直达线路连接的话,虽然简单方便,但线路利用率低。
为此,一般将各个用户终端通过一个具有交换功能的网络连接起来,使得任何接入该网络的两个终端由网络来实现适当的交换操作。
下图为DTE用户接入交换网:三、路由交换设备的概述1、交换机的基本工作原理交换机是工作在OSI参考模型第二层数据链路层的网络连接设备,它的基本功能是在多个计算机或网段之间交换数据,用来解决带宽不足和网络瓶颈问题。
交换机可以工作在全双工模式下,可以同时发送和接受数据。
交换机在进行数据转发时,根据数据包的MAC地址决定数据转发的端口,而不是简单地向所有端口进行转发。
当交换机需转发数据帧时它会检查该帧的目的MAC地址,然后在MAC 地址表中查找该地址位于哪个端口,从而确定数据包发送给相应的目的端口。
若数据包的目的MAC地址不在交换表中,则将包广播到每个端口。
2、路由器的基本工作原理路由器是工作在OSI参考模型第三层网络层负责转发数据的设备。
它的基本功能是在多个网络之间进行路径选择和数据转发。
一般说来,异种网络互联与多个子网互联都应采用路由器来完成。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关于动态数据交换Windows 为应用程序间的数据交换提供了多种方式,动态数据交换协议就是其中一种使用项。
动态数据交换协议是一整套信息和指引方针,在需要分享数据和使用共享存储来交换数据的应用程序间发送信息。
应用程序可使用该协议作为一次性数据传输或者应用间发送更新使其成为新的可用数据的持续交换。
Windows还支持动态数据交换管理库(DDEML)。
DDEML是应用程序可用于共享数据的动态链接库(DLL)。
DDEML 提供的功能和消息简化了向应用程序添加DDE功能的任务。
应用程序不是直接发送,发布和处理DDE消息,而是使用DDEML函数来管理DDE对话。
(DDE对话是客户端和服务器应用程序之间的交互。
)DDEML还提供了一个管理DDE应用程序共享的字符串和数据的工具。
DDE应用程序不是使用原子和共享内存对象的指针,而是创建和交换标识字符串的字符串句柄和标识内存对象的数据句柄来标识存储对象。
DDEML还使服务器应用程序能够注册它所支持的服务名称。
这些名称被广播给系统中的其他应用程序,这些应用程序可以使用名称连接到服务器。
此外,DDEML通过强制DDE协议以一致的方式实现DDE协议来确保DDE应用程序之间的兼容性。
使用基于消息的DDE协议的现有应用程序与使用DDEML的应用程序完全兼容。
也就是说,使用基于消息的DDE的应用程序可以与使用DDEML的应用程序建立对话并执行事务。
由于DDEML的许多优点,新应用程序应该使用它而不是DDE消息。
要使用DDEML的API元素,必须在源文件中包含DDEML头文件,与DDEML库链接,并确保DDEML动态链接库位于系统的搜索路径中。
本节讨论以下主题。
动态数据交换协议由于Windows具有基于消息的体系结构,传递消息是在应用程序之间自动传输信息的最合适的方法。
但是,消息只包含用于传递数据的两个参数(wParam和lParam)。
因此,当应用程序之间传递的信息超过几个字时,这些参数必须间接引用其他数据。
DDE协议确切定义了应用程序应该如何使用wParam和lParam参数通过全局原子和共享内存句柄来传递更大的数据。
DDE协议具有分配和删除全局原子和共享内存对象的特定规则。
全局原子是对字符串的引用。
在DDE协议中,原子标识交换数据的应用程序,交换数据的性质以及数据项本身。
有关原子的更多信息,请参阅关于About Atoms。
用于WINDOWS动态数据交换DDE最适合于不需要持续用户交互的数据交换。
通常,应用程序为用户提供了一种方法来建立交换数据的应用程序之间的链接。
一旦建立了链接,应用程序就可以在没有用户参与的情况下交换数据。
DDE可用于实现广泛的应用程序功能- 例如:链接到实时数据,如股市更新,科学仪器或过程控制。
创建复合文档,如包含由图形应用程序生成的图表的文字处理文档。
使用DDE时,图表将在源数据更改时更改,而文档的其余部分保持不变。
在应用程序之间执行数据查询,例如电子表格查询数据库以查找过期的帐户。
从使用者的角度看动态数据交换∙下面的例子从用户的角度说明了两个DDE应用程序如何协作。
电子表格用户希望使用Microsoft Excel来跟踪纽约证券交易所特定股票的价格。
用户有一个称为Quote的应用程序,可以访问纽约证券交易所数据。
Excel和报价之间的DDE对话发生如下:∙用户通过提供将提供数据和感兴趣的特定主题(NYSE)的应用程序名称(报价)来启动对话。
由此产生的DDE 对话用于请求特定股票的报价。
∙ Excel将应用程序和主题名称广播到当前在系统中运行的所有DDE应用程序。
引用回复,与Excel建立关于纽约证券交易所主题的对话。
∙ 然后,用户可以在单元格中创建电子表格公式,请求在特定股票报价更改时自动更新电子表格。
例如,用户可以通过指定以下Excel公式,在ZAXX股票的卖出价格发生变化时请求自动更新:='Quote'|'NYSE'!ZAXX∙ 用户可以随时终止ZAXX股票报价的自动更新。
其他数据链接(如其他股票的报价)单独建立,在纽约证券交易所的同一次谈话中仍然保持活跃。
∙ 用户也可以终止纽约证券交易所主题的Excel和报价之间的整个对话,以便在没有发起新对话的情况下,不能建立该主题的特定数据链接。
动态数据交换概念以下部分所解释的重要概念和术语是理解动态数据交换的要点客户体、服务器和对话据说参与DDE的两个应用程序正在进行DDE对话。
启动对话的应用程序是DDE客户端应用程序;响应客户端的应用程序是DDE服务器应用程序。
一个应用程序可以同时进行多个对话,在一些应用程序中作为客户端,在其他服务器中作为服务器。
DDE对话发生在两个窗口之间,每个参与的应用程序之一。
窗口可能是应用程序的主窗口;如在多文档界面(MDI)应用程序中的与特定文档相关联的窗口;或者一个隐藏的(不可见的)窗口,其唯一目的是处理DDE消息。
由于DDE对话由参与对话的窗口的一对句柄识别,所以不应该有窗口参与与另一个窗口的多个对话。
客户端应用程序或服务器应用程序必须为特定服务器或客户端应用程序的每个对话提供不同的窗口。
应用程序可以通过为每个对话创建一个隐藏窗口来确保一对客户端和服务器窗口从不参与多个对话。
这个窗口的唯一目的是处理DDE消息。
应用程序、话题和项目名称DDE协议使用应用程序,主题和项目名称的三级层次结构来标识在客户端和服务器之间传递的数据单元。
每个DDE对话由应用程序名称和主题唯一地定义。
在DDE对话开始时,客户端和服务器确定应用程序名称和主题。
应用程序名称通常是服务器应用程序的名称。
例如,当Excel在对话中充当服务器时,应用程序名称是Excel。
DDE主题是对话期间可以“讨论”(交换)多个数据项的数据的一般分类。
对于在基于文件的文档上运行的应用程序,主题通常是文件名。
对于其他应用程序,该主题是特定于应用程序的名称。
由于客户端和服务器窗口句柄一起标识DDE对话,因此定义对话的应用程序名称和主题在对话过程中无法更改。
DDE数据项是与在应用程序之间交换的对话主题有关的信息。
数据项的值可以从服务器传递到客户端,也可以从客户端传递到服务器。
数据可以通过任何标准剪贴板格式或注册剪贴板格式传递。
名为Link的特殊注册格式标识DDE对话中的项目。
获取更多关于剪贴板的信息,查阅Clipboard.系统主题应用程序应始终支持系统主题。
本主题提供了可能对其他应用程序普遍感兴趣的信息的上下文。
数据项值必须以CF_TEXT剪贴板格式呈现。
系统主题的项目值的单个元素必须由制表符分隔。
下表建议了系统主题的一些项目。
永久数据链接一旦DDE对话开始,客户端就可以与服务器建立一个或多个永久的数据链接。
数据链接是一种通信机制,只要指定数据项的值发生变化,服务器就会通过该机制通知客户端。
数据链接是永久的,这个通知过程一直持续到数据链接或DDE 对话本身终止。
有两种永久的DDE数据链接:热和热。
在温暖的数据链接中,服务器通知客户端数据项的值已经改变,但服务器不会将数据值发送给客户端,直到客户端请求为止。
在热数据链接中,服务器立即将更改的数据值发送给客户端。
支持热数据链接或热数据链接的应用程序通常会在“编辑”菜单中提供“复制”或“粘贴链接”命令,以使用户能够在应用程序之间建立链接原子和共享存储对象DDE消息的某些参数是全局原子或共享内存对象。
使用这些参数的应用程序必须遵循有关何时分配和删除的明确规则。
在任何情况下,消息发送者都必须删除由于错误情况(如PostMessage函数失败)而导致接收方不会收到的任何原子或共享内存对象。
DDE使用共享内存对象有三个目的:要传送要交换的数据项值。
这是WM_DDE_DATA和WM_DDE_POKE消息中的hData参数所引用的项目。
在消息中携带选项。
这是WM_DDE_ADVISE消息中的hOptions参数引用的项目。
要执行命令执行字符串。
这是WM_DDE_EXECUTE消息中的hCommands参数所引用的项目及其对应的WM_DDE_ACK 消息。
接收DDE共享内存对象的应用程序必须将其视为只读。
应用程序不得将该对象用作自由交换数据的相互读写区域。
和DDE原子一样,应用程序应该释放一个共享内存对象来有效地管理内存。
应用程序还应该锁定和解锁内存对象。
动态数据交换信息综述由于DDE是基于消息的协议,因此它不使用函数或库。
所有的DDE事务都是通过在客户端和服务器窗口之间传递某些定义的DDE消息来进行的。
有九个DDE消息; 这些消息的符号常量在DDE头文件中定义。
在这个头文件中也定义了各种DDE消息的某些结构。
下表总结了DDE消息。
应用程序调用SendMessage来发出WM_DDE_INITIATE消息或WM_DDE_ACK消息,以响应WM_DDE_INITIATE。
所有其他消息由PostMessage发送。
这些调用的第一个参数是接收窗口的句柄; 第二个参数包含要发送的消息; 第三个参数标识发送窗口; 第四个参数包含消息特定的参数。
动态数据交换消息流一个典型的DDE对话包含下述事件:1. 客户端应用程序启动对话,服务器应用程序响应。
2. 应用程序通过以下任何或所有方法交换数据:服务器应用程序根据客户的请求向客户端发送数据。
客户端应用程序将未经请求的数据发送到服务器应用程序。
客户端应用程序请求服务器应用程序在数据项发生变化(暖数据链接)时通知客户端。
客户端应用程序请求服务器应用程序在数据更改时发送数据(热数据链接)。
服务器应用程序根据客户的请求执行命令。
3. 客户端或服务器应用程序终止对话。
处理来自客户端或服务器的请求的应用程序窗口必须严格按照它们接收的顺序进行处理。
客户可以建立与多个服务器的对话;服务器可以与多个客户端进行对话。
处理来自多个源的消息时,客户端或服务器必须同步处理对话的消息,但不需要同步处理所有消息。
换句话说,它可以根据需要从一个对话转移到另一个对话。
如果应用程序无法处理传入的请求,因为它正在等待DDE响应,则必须通过发布WM_DDE_ACK消息并将DDEACK结构的fBusy成员设置为1来防止死锁。
如果应用程序还可以发送繁忙的WM_DDE_ACK消息由于任何原因,它不能在合理的时间内处理收到的请求。
应用程序应该能够处理客户端或服务器在一定时间内对消息作出响应的失败。
由于超时间隔可能因应用程序的性质和用户系统的配置(包括是否连接到网络)而异,因此应用程序应为用户指定间隔提供一种方法。
参数打包功能许多DDE消息的lParam参数包含两个数据。
例如,WM_DDE_DATA消息的lParam包含一个数据句柄和一个原子。
应用程序必须使用PackDDElParam函数将句柄和原子打包到lParam参数中,并使用UnpackDDElParam函数删除这些值。