有关使用此功能的注释

  1. 当从主机发出的出站传输被取消后请求第一个读取结构化字段写入结构化字段时,将返回返回码 35。纠正措施由应用程序负责。
  2. 返回码 36 要求应用程序断开与仿真程序的连接,然后重新连接,以重新建立与主机的通信。纠正措施由应用程序负责。
  3. 如果主机被禁用入站,将返回返回码 37。已成功请求读取结构化字段功能。
  4. EHLLAPI 允许每个应用程序最多可有 20 个未完成的异步请求。如果尝试的异步请求超过 20 个,将返回不可用资源的返回码 (RC=11)。

结构化字段数据包含从主机接收的应用程序结构化字段。在结构化字段数据到达应用程序之前,EHLLAPI 已删除结构化字段标头。

结构化字段数据格式如下所示:

偏移量 Length 目录
0 1 个字 X'0000'.
2 1 个字 m(消息长度:消息中数据的字节数,该数字不包括缓冲区标头前缀,该前缀包含 8 个字节)。此值由 EHLLAPI 返回。
4 1 个字 n(缓冲区大小:提供的数据缓冲区长度,其中包括 8 字节的消息头)。此值必须由应用程序设置。
6 1 个字 X'C000'.
8 8 字节 第一个(或唯一)结构化字段消息的长度。
10 1 个字节 结构化字段消息的第一个非长度字节。
m+7 1 个字节 结构化字段消息中的最后一个字节。

字节 0 到 7 是缓冲区标头。前 8 个字节由仿真程序使用。缓冲区的用户部分以偏移量 8 开始。字节 8 和 9 包含第一个结构化字段(结构化字段消息可以包含多个结构化字段)中的字节数,包括字节 8 和 9 的 2 个字节。字节 8 到 m+7 用于从主机接收的结构化字段消息(可能包含多个结构化字段)。

使用的应用程序必须提供完整的缓冲区,并将偏移量 0 处的字设置为零。缓冲区长度必须在偏移量 4 处的字中。偏移量 6 处的字必须是 X'C000'。仿真程序会将数据消息从偏移量 8 开始放置,并将消息的长度放在偏移量 2 处。缓冲区长度不受 EHLLAPI 干扰。