DDE消息的某些参数是全局原子或共享内存对象。使用这些参数的应用程序必须遵循关于何时分配和删除它们的明确规则。在所有情况下,消息发送方必须删除由于错误条件(例如PostMessage功能失败)而导致的接收者将不会接收的任何原子或共享内存对象。
DDE使用共享内存对象有三个目的:
*携带要交换的数据项目值。这是WM_DDE_DATA和WM_DDE_POKE邮件中【HDATA】参数引用的项目。
*在邮件中携带选项。这是WM_DDE_ADVISE消息中【hOptions】参数引用的项目。
*携带命令执行字符串。这是WM_DDE_EXECUTE消息中【hCommands】参数引用的项目及其相应的WM_DDE_ACK消息。
接收DDE共享内存对象的应用程序必须将其视为只读。应用程序不得将对象用作相互读写区域,用于自由交换数据。
与DDE原子一样,应用程序应释放共享内存对象以有效地管理内存。应用程序还应锁定和解锁内存对象。