在 DDEML(Dynamic Data Exchange Management Library)中,DDEDATA 结构实际上是一个伪结构,其定义取决于数据的类型。DDEML 不提供一个名为 DDEDATA 的独立结构。

DDEML 支持多种数据格式,包括文本、位图、以及自定义的数据格式。对于文本数据,可以使用 DDEACK 或 DDEADVISE 结构中的 DDE_DATA 成员来传递;对于其他数据类型,可以使用 HDDEDATA 句柄。

以下是一个例子,展示了如何使用 DDEACK 结构的 DDE_DATA 成员来传递文本数据:
DDEACK ddeAck;
ddeAck.bAppReturnCode = APP_OK;
ddeAck.reserved = 0;
ddeAck.wCmd = XTYP_ADVREQ;
ddeAck.dwData = 0; // or your specific data
ddeAck.hResult = (HDDEDATA)DdeCreateDataHandle(
                    idInst,       // Instance identifier
                    (LPBYTE)pszText, // Pointer to data
                    lstrlen(pszText) + 1, // Size of data
                    0,            // Offset of data
                    hszItem,      // Item name handle
                    CF_TEXT,      // Clipboard format
                    0             // Flags (free data handle when done)
                  );

在这个例子中,DDE_DATA 被用于传递文本数据。这只是一个例子,实际上,具体的使用方式取决于你处理的 DDE 事务的类型和数据。

如果你遇到了特定于应用程序或库的 DDEDATA 结构,可能需要查阅相关的文档或代码,因为这个结构可能是应用程序特定的。


转载请注明出处:http://www.zyzy.cn/article/detail/26473/Win32 API/Dde.h/DDEDATA