数据结构
许多 EHLLAPI 函数使用格式化数据结构将信息传递到应用程序或从应用程序传递信息。每个函数的描述均显示数据结构的布局。传递到或自 EHLLAPI 函数的数据必须完全按照记录的方式存在于存储中,逐个字节对应。请注意,结构布局对于所有 IBM® 标准和 WinHLLAPI 16 位和 32 位应用程序均相同。IBM® 增强 32 位应用程序的数据结构打包为 4 字节对齐。
强烈建议使用提供的头文件和数据结构定义来确保正确的数据对齐和布局。虽然在技术上是可行的,但建议不要执行以下操作:
char QueryData[20]; // Not recommended
...
Func = HA_QUERY_SESSION_STATUS;
hllapi(&Func, QueryData, &Len, &Rc);
if (QueryData[13] == 'F') {
// ...this is a 5250 session
}编写此函数的建议方法是:
#include "hapi_c.h"
struct HLDQuerySessionStatus QueryData; // Recommended
...
Func = HA_QUERY_SESSION_STATUS;
hllapi(&Func, (char *)&QueryData, &Len, &Rc);
if (QueryData.qsst_sestype == 'F') {
// ...this is a 5250 session
}