DDE客户端应用程序将WM_DDE_ADVISE消息发布到DDE服务器应用程序,以便在项目更改时请求服务器为数据项提供更新。
WM_DDE_ADVISE
wParam = (WPARAM) hwnd; //发布应用程序的句柄
lParam = (LPARAM) lPackedVal; //打包DDEADVISE和item atom
参数
【HWND】
价值【wParam中】.标识发送消息的客户端窗口。
【lPackedVal】
价值【lParam的】.通过调用UnpackDDElParam函数提取打包成【lPackedVal】的组件参数。低位字是【hOptions】.高阶词是【项目】.
参数 | 描述 |
【hOptions】 | 标识包含DDEADVISE结构的全局内存对象,该结构指定如何发送数据。 |
【项目】 | 包含标识所请求的数据项的原子。 |
备注
如果客户端应用程序支持单个主题和项目的多个剪贴板格式,则可以为主题和项目发布多个WM_DDE_ADVISE消息,并为每条消息指定不同的剪贴板格式。请注意,服务器只能支持多种格式的热量数据链接,而不是热的数据链接。
发帖
客户端应用程序通过调用PostMessage功能而不是SendMessage功能发布WM_DDE_ADVISE消息。
客户端应用程序通过使用GMEM_DDESHARE选项调用GlobalAlloc函数来分配【hOptions】.它通过调用GlobalAddAtom函数来分配【项目】.
客户端应用程序必须通过调用PackDDElParam功能或ReuseDDElParam功能创建或重新使用WM_DDE_ADVISE 【lPackedVal】功能,并以【hOptions】作为低位字提供【项目】作为高位字。
如果接收(服务器)应用程序使用否定的WM_DDE_ACK消息进行响应,则发布(客户端)应用程序必须删除【hOptions】对象。
fRelease标志在WM_DDE_ADVISE消息中未使用,但其数据释放行为与WM_DDE_POKE为WM_DDE_POKE为TRUE的WM_DDE_POKE消息类似。
接收
服务器应用程序发布WM_DDE_ACK消息以反应积极或反应。当发布WM_DDE_ACK时,应用程序可以重用【项目】原子或删除它并创建一个新的。如果WM_DDE_ACK消息为正,应用程序应删除【hOptions】对象;否则应用程序不应该删除该对象。
服务器必须通过调用PackDDElParam功能或ReuseDDElParam作为低位字提供的【wStatuslb】功能创建或重新使用WM_DDE_ACK 【lPackedVal】参数,并以【项目】作为高位字提供。
也可以看看
DDEADVISE, FreeDDElParam, GlobalAddAtom, GlobalAlloc, PackDDElParam, PostMessage, ReuseDDElParam, SendMessage, UnpackDDElParam, WM_DDE_ACK, WM_DDE_DATA, WM_DDE_POKE, WM_DDE_REQUEST