typedef struct tagCONVINFO {
DWORD cb; // 结构体的大小,用于版本控制
DWORD wFlags; // 会话的标志
DWORD wFmt; // 格式标识符
DWORD wConvst; // 会话的状态
DWORD wLastError; // 最后的错误码
HCONV hConvPartner; // 伙伴会话的句柄
HSZ hszSvcPartner; // 服务名字符串句柄
HSZ hszServiceReq; // 服务请求字符串句柄
HSZ hszTopic; // 话题字符串句柄
HSZ hszItem; // 项字符串句柄
DWORD wFmtPartner; // 伙伴的格式标识符
DWORD wType; // 会话的类型
DWORD wStatus; // 会话的状态
DWORD wConvstValue; // 会话状态的数值
DWORD wLastErrorValue;// 最后错误的数值
} CONVINFO, *PCONVINFO;
各个字段的含义如下:
- cb: 结构体的大小,用于版本控制。在使用前,需要将这个字段设置为结构体的大小,可以使用 sizeof(CONVINFO)。
- wFlags: 会话的标志,指定一些会话的属性。例如,ST_CONNECTED、ST_ADVISE 等。
- wFmt: 格式标识符,表示数据的格式。
- wConvst: 会话的状态,表示会话的当前状态,如 XST_NULL、XST_INIT、XST_REQSENT 等。
- wLastError: 最后的错误码,表示最近的错误代码。
- hConvPartner: 伙伴会话的句柄,用于表示当前会话的伙伴会话。
- hszSvcPartner: 服务名字符串的句柄,表示伙伴的服务名。
- hszServiceReq: 服务请求字符串的句柄,表示伙伴的服务请求。
- hszTopic: 话题字符串的句柄,表示当前会话的话题。
- hszItem: 项字符串的句柄,表示当前会话的项。
- wFmtPartner: 伙伴的格式标识符。
- wType: 会话的类型,如 XTYP_CONNECT、XTYP_ADVREQ 等。
- wStatus: 会话的状态,表示会话的当前状态。
- wConvstValue: 会话状态的数值。
- wLastErrorValue: 最后错误的数值。
这个结构体通常用于调用 DdeQueryConvInfo 函数,以获取有关 DDE 会话的详细信息。在使用前,需要初始化 cb 字段为结构体的大小。以下是一个简单的示例:
#include <Ddeml.h>
// ...
HCONV hConv; // DDE 会话句柄
CONVINFO convInfo;
// 初始化 CONVINFO 结构体
convInfo.cb = sizeof(CONVINFO);
// 获取 DDE 会话信息
BOOL result = DdeQueryConvInfo(hConv, 0, &convInfo);
if (result) {
// 使用 convInfo 结构体中的信息
// ...
} else {
// 处理获取会话信息失败的情况
}
在实际应用中,你可能需要根据具体的需求使用 CONVINFO 结构体中的字段信息。
转载请注明出处:http://www.zyzy.cn/article/detail/26497/Win32 API/Ddeml.h/CONVINFO