typedef struct tagMONCONVSTRUCT {
UINT cb; // 结构体的大小,用于版本控制
DWORD dwTime; // 事件发生的时间
HANDLE hTask; // 任务的句柄
DWORD dwRet; // 事件处理的返回值
UINT wType; // 事件类型
UINT wFmt; // 数据格式
HCONV hConvClient; // 客户端 DDE 会话的句柄
HCONV hConvServer; // 服务器端 DDE 会话的句柄
HSZ hszSvc; // 服务名字符串句柄
HSZ hszTopic; // 话题字符串句柄
HSZ hszItem; // 项字符串句柄
UINT wFmtConnect; // 连接请求的数据格式
UINT wTypeConnect; // 连接请求的类型
CONVCONTEXT cc; // 与事件相关的 DDE 会话的上下文信息
UINT iRetry; // 连接重试次数
UINT wStatus; // 会话的状态
UINT wConvst; // 会话的状态(数值形式)
UINT wLastError; // 最后的错误码
} MONCONVSTRUCT, *PMONCONVSTRUCT;
各个字段的含义如下:
- cb: 结构体的大小,用于版本控制。在使用前,需要将这个字段设置为结构体的大小,可以使用 sizeof(MONCONVSTRUCT)。
- dwTime: 事件发生的时间。
- hTask: 任务的句柄。
- dwRet: 事件处理的返回值。
- wType: 事件类型,表示 DDE 事件的类型,例如 XTYP_ADVDATA、XTYP_CONNECT 等。
- wFmt: 数据格式,表示与事件相关的数据的格式。
- hConvClient 和 hConvServer: 客户端和服务器端 DDE 会话的句柄。
- hszSvc, hszTopic, hszItem: 服务名、话题和项字符串句柄,用于传递与事件相关的字符串。
- wFmtConnect: 连接请求的数据格式。
- wTypeConnect: 连接请求的类型。
- cc: 与事件相关的 DDE 会话的上下文信息。
- iRetry: 连接重试次数。
- wStatus: 会话的状态。
- wConvst: 会话的状态(数值形式)。
- wLastError: 最后的错误码。
这个结构体通常用于在 DDEML 的监视事件回调函数中,提供有关 DDE 会话的详细信息。
以下是一个简单的示例,演示了如何在监视事件的回调函数中使用 MONCONVSTRUCT 结构:
#include <Ddeml.h>
// ...
HDDEDATA CALLBACK DdeCallback(
UINT uType,
UINT uFmt,
HCONV hConv,
HSZ hsz1,
HSZ hsz2,
HDDEDATA hData,
ULONG_PTR dwData1,
ULONG_PTR dwData2
) {
if (uType == XTYP_MONITOR) {
MONCONVSTRUCT* pMonConvData = (MONCONVSTRUCT*)hData;
// 处理监视事件信息
// ...
}
// 处理其他 DDE 事件
return NULL;
}
在实际应用中,你需要根据具体的监视事件的需求,使用 MONCONVSTRUCT 结构体中的字段信息。
转载请注明出处:http://www.zyzy.cn/article/detail/26500/Win32 API/Ddeml.h/MONCONVSTRUCT