WM_DDE_POKE

【勇芳软件工作室】汉化HomePreviousNext

DDE客户端应用程序将一个WM_DDE_POKE消息发送到DDE服务器应用程序。客户端使用此消息来请求服务器接受未经请求的数据项。服务器预期使用WM_DDE_ACK消息回复,指示是否接受数据项。

WM_DDE_POKE

wParam = (WPARAM) hwnd; //发布应用程序的句柄

lParam = (LPARAM) lPackedVal; //打包DDEPOKE和item atom

参数

【HWND】

价值【wParam中】.标识发送消息的客户端窗口。

【lPackedVal】

价值【lParam的】.通过调用UnpackDDElParam函数提取打包到【lPackedVal】中的组件参数。低位字是【HDATA】.高阶词是【项目】.

参数描述
HDATA标识包含数据和附加信息的DDEPOKE结构的全局内存对象。
项目包含一个全局原子,用于标识要发送数据或通知的数据项。

备注

发帖

客户端应用程序使用PostMessage功能发布WM_DDE_POKE消息。

客户端应用程序必须使用带有GMEM_DDESHARE选项的GlobalAlloc功能为【HDATA】对象分配内存。如果满足以下条件之一,客户端应用程序必须删除【HDATA】对象:

*服务器应用程序使用否定的WM_DDE_ACK消息进行响应。

* fRelease成员为FALSE,但服务器应用程序使用正或负WM_DDE_ACK进行响应。

客户端应用程序必须使用GlobalAddAtom函数创建【项目】原子。

客户端应用程序必须通过调用PackDDElParam功能或ReuseDDElParam功能创建或重新使用WM_DDE_POKE 【lPackedVal】参数,并以【HDATA】作为低位字提供【HDATA】作为高位字。

接收

服务器应用程序应该发布WM_DDE_ACK消息以进行积极或消极的响应。当发布WM_DDE_ACK时,服务器可以重用【项目】原子,否则可以删除它并创建一个新的。

服务器必须通过调用PackDDElParam功能或以【wStatuslb】作为低位字提供的【wStatuslb】函数创建或重新使用WM_DDE_ACK 【lPackedVal】参数,并以【项目】作为高位字提供。

要释放【HDATA】对象,服务器应调用GlobalFree功能。此外,如果数据格式为CF_DSPMETAFILEPICT或CF_METAFILEPICT,则服务器还必须使用嵌入的图元文件句柄调用DeleteMetaFile.这两种格式有一个额外的间接级别;也就是说,应用程序必须锁定【HDATA】以获取指向句柄的指针,然后锁定该句柄以获取指向METAFILEPICT结构的指针,最后使用hMF成员的句柄调用DeleteMetaFile METAFILEPICT结构。

要释放【lPackedVal】对象,服务器应调用FreeDDElParam功能。

也可以看看

DDEPOKE, DeleteMetaFile, FreeDDElParam, GlobalAddAtom, GlobalAlloc, GlobalFree, METAFILEPICT, PackDDElParam, PostMessage, ReuseDDElParam, SendMessage, UnpackDDElParam, WM_DDE_ACK