动态数据Exchange管理库

动态数据Exchange (DDE) 是一种进程间通信形式,它使用共享内存在应用程序之间交换数据。 应用程序可以使用 DDE 进行一次性数据传输,并持续交换和更新数据。

本节内容

名称 说明
关于 DDEML 讨论动态数据交换。
基本概念 讨论有关动态数据交换的关键概念。
对话管理 讨论客户端和服务器之间的对话。
数据管理 讨论内存对象如何将数据从一个应用程序传递到另一个应用程序。
监视应用程序 讨论动态数据Exchange管理库的元素如何用于创建监视系统中动态数据交换活动的应用程序。
名称服务 讨论动态数据Exchange管理库如何使服务器应用程序能够注册它支持的服务名称。
事务管理 讨论客户端如何发送事务来从服务器获取数据和服务。
DDEML 参考 包含 API 引用。

DDEML 函数

名称 说明
DdeAbandonTransaction 放弃指定的异步事务并释放与事务关联的所有资源。
DdeAccessData 提供对指定 DDE 对象中的数据的访问权限。 应用程序在访问对象中的数据完成后,必须调用 DdeUnaccessData 函数。
DdeAddData 将数据添加到指定的 DDE 对象。 应用程序可以添加从对象开头的任何偏移量开始的数据。 如果新数据与对象中已有的数据重叠,则新数据将覆盖发生重叠的字节中的旧数据。 未写入对象中位置的内容未定义。
DdeCallback 与动态数据Exchange管理库一起使用的应用程序定义的回调函数, (DDEML) 函数。 它处理 DDE 事务。 PFNCALLBACK 类型定义指向此回调函数的指针。 DdeCallback 是应用程序定义函数名称的占位符。
DdeClientTransaction 开始客户端和服务器之间的数据事务。 只有 DDE 客户端应用程序才能调用此函数,并且应用程序只能在与服务器建立对话后使用它。
DdeCmpStringHandles 比较两个字符串句柄的值。 字符串句柄的值与关联字符串的事例无关。
DdeConnect 与支持指定服务名称和主题名称对的服务器应用程序建立对话。 如果存在多个此类服务器,则系统仅选择一个。
DdeConnectList 与支持指定服务名称和主题名称对的所有服务器应用程序建立对话。 应用程序还可以使用此函数通过传递函数来获取会话句柄列表。
DdeCreateDataHandle 创建 DDE 对象,并使用来自指定缓冲区的数据填充对象。 DDE 应用程序在涉及将数据传递到合作伙伴应用程序的事务期间使用此函数。
DdeCreateStringHandle 创建标识指定字符串的句柄。 DDE 客户端或服务器应用程序可以将字符串句柄作为参数传递给其他动态数据Exchange管理库 (DDEML) 函数。
DdeDisconnect 终止 由 DdeConnectDdeConnectList 函数启动的会话,并使指定的会话句柄失效。
DdeDisconnectList 销毁指定的会话列表并终止与列表关联的所有对话。
DdeEnableCallback 启用或禁用特定会话或调用应用程序当前建立的所有会话的事务。
DdeFreeDataHandle 为 DDE 对象收费,并删除与对象关联的数据句柄。
DdeFreeStringHandle 释放调用应用程序中的字符串句柄。
DdeGetData 将数据从指定的 DDE 对象复制到指定的本地缓冲区。
DdeGetLastError 检索由 DDEML 函数失败设置的最新错误代码,并将错误代码重置为DMLERR_NO_ERROR。
DdeImpersonateClient 在 DDE 客户端对话中模拟 DDE 客户端应用程序。
DdeInitialize 将应用程序注册到动态数据Exchange管理库 (DDEML) 。 应用程序必须在调用任何其他 DDEML 函数之前调用此函数。
DdeKeepStringHandle 递增与指定句柄关联的使用计数。 此函数使应用程序能够保存传递给应用程序的 DDE 回调函数的字符串句柄。 否则,当回调函数返回时,将删除传递给回调函数的字符串句柄。 此函数还应该用于保留由 DdeQueryConvInfo 函数返回的 CONVINFO 结构引用的字符串句柄的副本。
DdeNameService 注册或取消注册 DDE 服务器支持的服务名称。 此函数会导致系统将XTYP_REGISTER或XTYP_UNREGISTER事务发送到运行动态数据Exchange管理库的其他运行 (DDEML) 客户端应用程序。
DdePostAdvise XTYP_ADVREQ 事务发送到调用 (服务器,) 应用程序针对每个客户端的 DDE 回调函数,并在指定主题和项上具有活动建议循环。 每当与主题名称或项名称对关联的数据发生更改时,服务器应用程序都应调用此函数。
DdeQueryConvInfo 检索有关 DDE 事务的信息以及事务所在的会话的信息。
DdeQueryNextServer 检索指定会话列表中的下一个会话句柄。
DdeQueryString 将与字符串句柄关联的文本复制到缓冲区中。
DdeReconnect 使客户端动态数据Exchange管理库 (DDEML) 应用程序尝试重新建立与已终止与客户端会话的服务的对话。 重新建立对话时,DDEML 会尝试重新建立任何预先存在的建议循环。
DdeSetUserHandle 将应用程序定义的值与会话句柄或事务标识符相关联。 这对于简化异步事务的处理非常有用。 应用程序可以使用 DdeQueryConvInfo 函数检索此值。
DdeUnaccessData Unaccesses DDE 对象。 应用程序在访问对象完成后必须调用此函数。
DdeUninitialize 释放与调用应用程序关联的所有 DDEML 资源。

DDEML 事务

名称 说明
XTYP_ADVDATA 通知客户端数据项的值已更改。 DDE 客户端回调函数 DdeCallback 在与服务器建立建议循环后接收此事务。
XTYP_ADVREQ 通知服务器,建议事务在指定的主题名称和项名称对上未完成,并且与主题名称和项名称对对应的数据已更改。 在服务器调用 DdePostAdvise 函数后,系统将此事务发送到 DDE 回调函数 DdeCallback
XTYP_ADVSTART 客户端使用 XTYP_ADVSTART 事务与服务器建立建议循环。 当客户端将XTYP_ADVSTART指定为 DdeClientTransaction 函数的 wType 参数时,DDE 服务器回调函数 DdeCallback 接收此事务。
XTYP_ADVSTOP 客户端使用 XTYP_ADVSTOP 事务结束与服务器的建议循环。 当客户端在 DdeClientTransaction 函数中指定XTYP_ADVSTOP时,DDE 服务器回调函数 DdeCallback 将接收此事务。
XTYP_CONNECT 客户端使用 XTYP_CONNECT 事务建立会话。 当客户端指定服务器支持 (的服务名称时,DdeCallback 函数 DdeCallback 接收此事务,该名称在调用 DdeConnect 函数时,该名称不是 NULL) 。
XTYP_CONNECT_CONFIRM DDE 服务器回调函数 DdeCallback 接收 XTYP_CONNECT_CONFIRM 事务,以确认已与客户端建立会话,并向服务器提供会话句柄。 系统将此事务作为上一 个XTYP_CONNECTXTYP_WILDCONNECT 事务的结果发送。
XTYP_DISCONNECT 当应用程序在会话中的合作伙伴使用 DdeDisconnect 函数终止会话时,应用程序 DDE 回调函数 DdeCallback 接收XTYP_DISCONNECT事务。
XTYP_ERROR 发生严重错误时, DDE 回调函数 DdeCallback 接收 XTYP_ERROR 事务。
XTYP_EXECUTE 客户端使用 XTYP_EXECUTE 事务将命令字符串发送到服务器。 当客户端在 DdeClientTransaction 函数中指定XTYP_EXECUTE时,DDE 服务器回调函数 DdeCallback 将接收此事务。
XTYP_MONITOR 每当系统发生 DDE 事件时,DDE 调试器的 DDE 回调函数 DdeCallback 将接收 XTYP_MONITOR 事务。 若要接收此事务,应用程序在调用 DdeInitialize 函数时必须指定APPCLASS_MONITOR值。
XTYP_POKE 客户端使用 XTYP_POKE 事务将未经请求的数据发送到服务器。 当客户端在 DdeClientTransaction 函数中指定XTYP_POKE时,DDE 服务器回调函数 DdeCallback 将接收此事务。
XTYP_REGISTER 每当 DDEML 服务器应用程序使用 DdeNameService 函数注册服务名称,或每当启动支持系统主题的非 DDEML 应用程序时,DDE 回调函数 DdeCallback 将接收XTYP_REGISTER事务类型。
XTYP_REQUEST 客户端使用 XTYP_REQUEST 事务从服务器请求数据。 当客户端在 DdeClientTransaction 函数中指定XTYP_REQUEST时,DDE 服务器回调函数 DdeCallback 将接收此事务。
XTYP_UNREGISTER 每当 DDEML 服务器应用程序使用 DdeNameService 函数取消注册服务名称或终止支持系统主题的非 DDEML 应用程序时,DDE 回调函数 DdeCallback 将接收XTYP_UNREGISTER事务。
XTYP_WILDCONNECT XTYP_WILDCONNECT事务允许客户端在与指定服务名称和主题名称匹配的每个服务器服务名称和主题名称对上建立对话。 当客户端在调用 DdeConnect 或 DdeConnectList 函数时,DDE 服务器回调函数 DdeCallback 接收此事务。
XTYP_XACT_COMPLETE DDE 客户端回调函数 DdeCallback 在调用 DdeClientTransaction 函数启动的异步事务完成时接收XTYP_XACT_COMPLETE事务。

DDEML 结构

名称 说明
CONVCONTEXT 包含 DDE 客户端应用程序提供的信息。 此信息对于专用或跨语言 DDE 对话非常有用。
CONVINFO 包含有关 DDE 对话的信息。
DDEML_MSG_HOOK_DATA 包含有关 DDE 消息的信息,并提供对消息所引用数据的读取访问权限。 此结构旨在由 DDEML 监视应用程序使用。
MONCBSTRUCT 包含有关当前 DDE 事务的信息。 当监视系统传递到其他应用程序的 DDE 回调函数的事务时,DDE 调试应用程序可以使用此结构。
MONCONVSTRUCT 包含有关 DDE 对话的信息。 DDE 监视应用程序可以使用此结构获取有关已建立或已终止的对话的信息。
MONERRSTRUCT 包含有关当前 DDE 错误的信息。 DDE 监视应用程序可以使用此结构监视 DDE 管理库函数返回的错误。
MONHSZSTRUCT 包含有关 DDE 字符串句柄的信息。 监视 DDE 管理库的字符串管理器组件的活动时,DDE 监视应用程序可以使用此结构。
MONLINKSTRUCT 包含有关 DDE 建议循环的信息。 DDE 监视应用程序可以使用此结构获取有关已启动或结束的建议循环的信息。
MONMSGSTRUCT 包含有关 DDE 消息的信息。 DDE 监视应用程序可以使用此结构获取已发送或发布 DDE 消息的相关信息。