SLI_BID

SLI_BID谓词通知会话级别接口 (SLI) 应用程序正在使用 SLI_RECEIVE 读取消息。 SLI_BID 还向 Windows 逻辑单元应用程序 (LUA) 应用程序提供会话的当前状态。

以下结构描述了SLI_BID使用的谓词控制块 (VCB) LUA_COMMON成员。

第二个语法联合描述 SLI_BID 使用的 VCB 的 LUA_SPECIFIC成员。 为清楚起见,将省略其他工会成员。

语法

  
struct LUA_COMMON {  
    unsigned short lua_verb;  
    unsigned short lua_verb_length;  
    unsigned short lua_prim_rc;  
    unsigned long  lua_sec_rc;  
    unsigned short lua_opcode;  
    unsigned long  lua_correlator;  
    unsigned char  lua_luname[8];  
    unsigned short lua_extension_list_offset;  
    unsigned short lua_cobol_offset;  
    unsigned long  lua_sid;  
    unsigned short lua_max_length;  
    unsigned short lua_data_length;  
    char FAR *     lua_data_ptr;  
    unsigned long  lua_post_handle;  
    struct LUA_TH  lua_th;  
    struct LUA_RH  lua_rh;  
    struct LUA_FLAG1 lua_flag1;  
    unsigned char  lua_message_type;  
    struct LUA_FLAG2 lua_flag2;   
    unsigned char  lua_resv56[7];  
    unsigned char  lua_encr_decr_option;  
};  
union LUA_SPECIFIC {  
    unsigned char  lua_peek_data[12];  
};  

成员

lua_verb
提供的参数。 包含谓词代码,LUA_VERB_SLI SLI 谓词。

lua_verb_length
提供的参数。 指定 LUA VCB 的长度(以字节为单位)。 它必须包含要发出的谓词记录的长度。

lua_prim_rc
由 LUA 在谓词完成时设置的主要返回代码。 有效的返回代码因发出的 LUA 谓词而异。

lua_sec_rc
由 LUA 在谓词完成时设置的辅助返回代码。 有效的返回代码因发出的 LUA 谓词而异。

lua_opcode
提供的参数。 包含 LUA 命令代码 (要发出的谓词操作代码) ,LUA_OPCODE_SLI_BID。

lua_correlator
提供的参数。 包含用户提供的值,该值将谓词与其他用户提供的信息链接在一起。 LUA 不使用或更改此信息。 此参数是可选的。

lua_luname
提供的参数。 指定 Windows LUA 会话使用的本地 LU 的 ASCII 名称。

仅当lua_sid为零时,SLI_BID才需要此参数。

此参数长度为 8 个字节,如果名称短于 8 个字符,则用空格 (0x20) 在右侧填充。

lua_extension_list_offset
SLI_BID不使用,应设置为零。

lua_cobol_offset
MICROSOFT® Host Integration Server 中的 LUA 未使用,应为零。

lua_sid
提供的参数。 指定会话标识符,由 SLI_OPENRUI_INIT 返回。 其他谓词使用此参数来标识用于命令的会话。 如果其他谓词使用 lua_luname 参数来标识会话,请将 lua_sid 参数设置为零。

lua_max_length
SLI_BID不使用,应设置为零。

lua_data_length
返回的参数。 指定 lua_peek_data中返回的数据的长度。

lua_data_ptr
指向应用程序提供的缓冲区的指针,该缓冲区包含要为 SLI_SENDRUI_WRITE 发送的数据,或者将接收 SLI_RECEIVERUI_READ的数据。 其他 RUI 和 SLI 谓词不使用,应设置为零。

lua_post_handle
提供的参数。 如果异步通知要由事件完成,则用于 Microsoft Windows Server 下。 此变量包含要发出信号的事件的句柄或窗口句柄。

对于所有其他环境,此参数是保留的,应设置为零。

lua_th
返回的参数。 包含接收的消息的 SNA 传输标头 (TH) 。 为读取和出价函数返回各种子参数。 其子参数如下所示:

lua_th.flags_fid

格式标识类型 2,4 位。

lua_th.flags_mpf

分段映射字段,两位。 定义数据段的类型。 以下为有效值:

0x00 中间段0x04 最后一段0x08 第一段0x0C 仅限段

lua_th.flags_odai

源地址字段 - 目标地址字段 (OAF–DAF) 分配器指示器,一位。

lua_th.flags_efi

加速流指示器,一位。

lua_th.daf

目标地址字段 (DAF) ,无符号字符。

lua_th.oaf

源地址字段 (OAF) ,一个无符号字符。

lua_th.snf

序列号字段,无符号字符[2]。

lua_rh
返回的参数。 包含发送或接收的消息的 SNA 请求/响应标头 (RH) 。 其子参数如下所示:

lua_rh.rri

请求-响应指示器,一位。

lua_rh.ruc

请求/响应单元 (RU) 类别,两位。 以下为有效值:

LUA_RH_FMD (0x00) FM 数据段LUA_RH_NC (0x20) 网络控制LUA_RH_DFC (0x40) 数据流 控制LUA_RH_SC (0x60) 会话控制

lua_rh.fi

格式指示器,一位。

lua_rh.sdi

感知数据包括指示器,一位。

lua_rh.bci

开始链指示器,一位。

lua_rh.eci

端链指示器,一位。

lua_rh.dr1i

确定响应 1 指示器,1 位。

lua_rh.dr2i

确定响应 2 指示器,一位。

lua_rh.ri

请求) 的异常响应指示符 (,或响应) 的响应类型指示器 ((1 位)。

lua_rh.qri

排队响应指示器,一位。

lua_rh.pi

节奏指示器,一位。

lua_rh.bbi

开始方括号指示器,一位。

lua_rh.ebi

端括号指示器,一位。

lua_rh.cdi

更改方向指示器,一位。

lua_rh.csi

代码选择指示器,一位。

lua_rh.edi

加密数据指示器,一位。

lua_rh.pdi

填充数据指示器,一位。

lua_flag1
提供的参数。 包含包含应用程序提供的消息标志的数据结构。 其子参数如下所示:

lua_flag1.bid_enable

出价启用指示器,一位。

lua_flag1.close_abend

关闭即时指示器,一位。

lua_flag1.nowait

无需等待数据标志,一位。

lua_flag1.sscp_exp

系统服务控制点 (SSCP) 加速流(一位)。

lua_flag1.sscp_norm

SSCP 正常流,一位。

lua_flag1.lu_exp

LU 加速流,一位。

lua_flag1.lu_norm

LU 正常流,一位。

lua_message_type
返回的参数。 指定向 指示 SLI_BID的 SNA 消息的类型。 可能的值为:

LUA_MESSAGE_TYPE_LU_DATA

LUA_MESSAGE_TYPE_SSCP_DATA

LUA_MESSAGE_TYPE_RSP

LUA_MESSAGE_TYPE_BID

LUA_MESSAGE_TYPE_BIND

LUA_MESSAGE_TYPE_BIS

LUA_MESSAGE_TYPE_CANCEL

LUA_MESSAGE_TYPE_CHASE

LUA_MESSAGE_TYPE_LUSTAT_LU

LUA_MESSAGE_TYPE_LUSTAT_SSCP

LUA_MESSAGE_TYPE_QC

LUA_MESSAGE_TYPE_QEC

LUA_MESSAGE_TYPE_RELQ

LUA_MESSAGE_TYPE_RTR

LUA_MESSAGE_TYPE_SBI

LUA_MESSAGE_TYPE_SIGNAL

LUA_MESSAGE_TYPE_STSN

SLI 通过 LUA 接口扩展例程接收并响应 BIND 和 STSN 请求。

LU_DATA、LUSTAT_LU、LUSTAT_SSCP和SSCP_DATA不是 SNA 命令。

lua_flag2
返回的参数。 包含 LUA 返回的消息的标志。 其子参数如下所示:

lua_flag2.bid_enable

指示如果设置为 1,则指示已成功重新启用 SLI_BID

lua_flag2.async

指示 LUA 接口谓词在设置为 1 时异步完成。

lua_flag2.sscp_exp

如果设置为 1,则指示 SSCP 加速流。

lua_flag2.sscp_norm

如果设置为 1,则指示 SSCP 正常流。

lua_flag2.lu_exp

如果设置为 1,则指示 LU 加速流。

lua_flag2.lu_norm

如果设置为 1,则指示 LU 正常流。

lua_resv56
保留,应设置为零。

lua_encr_decr_option
SLI_BID不使用,应设置为零。

lua_peek_data
RUI_BID和SLI_BID谓词使用的LUA_SPECIFIC的联合成员。 返回的参数。 包含最多 12 个字节的等待读取的数据。

返回代码

LUA_OK
主要返回代码;谓词已成功执行。

LUA_SEC_OK

辅助返回代码;不存在用于LUA_OK的其他信息。

LUA_PARAMETER_CHECK
主要返回代码;由于参数错误,谓词未执行。

LUA_INVALID_LUNAME

辅助返回代码;指定 了无效lua_luname 名称。

LUA_BAD_SESSION_ID

辅助返回代码;在 VCB 中指定 了lua_sid 的无效值。

LUA_RESERVED_FIELD_NOT_ZERO

辅助返回代码;刚发出的谓词的保留参数未设置为零。

LUA_INVALID_POST_HANDLE

辅助返回代码;对于使用事件作为异步过帐方法的 Windows 操作系统,Windows LUA VCB 不包含有效的事件句柄。

LUA_VERB_LENGTH_INVALID

辅助返回代码;LUA 谓词的发出值为 lua_verb_length 意外。

LUA_STATE_CHECK
主要返回代码;谓词未执行,因为它是在无效状态下发出的。

LUA_NO_SLI_SESSION

辅助返回代码;发出命令时,由于 SLI_CLOSE 或会话失败,会话未打开或关闭。

LUA_SLI_BID_PENDING

辅助返回代码;发出另一个 SLI_BID 时,SLI 谓词仍处于活动状态。 一次只能有一个 SLI_BID 处于活动状态。

LUA_SESSION_FAILURE
主返回代码;辅助返回代码中指定的错误条件导致会话失败。

LUA_RECEIVED_UNBIND

辅助返回代码;当会话处于活动状态时,PLU (主逻辑单元) 向 LUA 接口发送了 SNA UNBIND 命令。 因此,会话已停止。

LUA_SLI_LOGIC_ERROR

辅助返回代码;LUA 接口在逻辑中发现内部错误。

LUA_NO_RUI_SESSION

辅助返回代码;尚未为发出的 LUA 谓词初始化会话,或者在初始化会话之前发出 除 SLI_OPEN 以外的某个谓词。

LUA_MODE_INCONSISTENCY

辅助返回代码;当前状态不允许执行此函数。 即使已理解和支持发送到半会话组件的请求,也不会执行该请求。 此 SNA 感知代码也是异常请求感知代码。

LUA_RECEIVER_IN_TRANSMIT_MODE

辅助返回代码;处理正常流数据所需的资源不可用,或者收到正常流请求时未收到半双工争用的状态。 结果是争用条件。 此 SNA 感知代码也是异常请求感知代码。

LUA_LU_COMPONENT_DISCONNECTED

辅助返回代码;LU 组件不可用,因为它未正确连接。 确保电源已打开。

LUA_FUNCTION_NOT_SUPPORTED

辅助返回代码;LUA 不支持请求的函数。 控制字符、RU 参数或格式化请求代码可能已指定 函数。 特定感知代码信息以字节 2 和 3 为单位。

LUA_CHAINING_ERROR

辅助返回代码;链指示器设置的顺序出错。 发现接收方当前会话控制或数据流控制状态的请求标头或请求单位无效。 已阻止传递到半会话组件。

LUA_BRACKET

辅助返回代码;发送方未能强制实施会话括号规则。 请注意,争用和争用条件不受此错误影响。 发现接收方当前会话控制或数据流控制状态的请求标头或请求单位无效。 已阻止传递到半会话组件。

LUA_DIRECTION

辅助返回代码;当半双工翻转状态NOT_RECEIVE时,收到正常流的请求。 发现接收方当前会话控制或数据流控制状态的请求标头或请求单位无效。 已阻止传递到半会话组件。

LUA_DATA_TRAFFIC_QUIESCED

辅助返回代码;数据流控制 (DFC) 或函数管理数据 (FMD) 请求是从发送 SHUTC 命令或 QC 命令的半会话收到的,并且 DFC 或 FMD 请求未响应 RELQ 命令。 发现接收方当前会话控制或数据流控制状态的请求标头或请求单位无效。 已阻止传递到半会话组件。

LUA_NO_BEGIN_BRACKET

辅助返回代码;收到指定 BBI=BB 的 BID 或 FMD 请求时,接收方已经向 BIS 命令发送了肯定响应。 找到接收的当前会话控制或数据流控制状态的请求标头或请求单位无效。 已阻止传递到半会话组件。

LUA_IMMEDIATE_REQUEST_MODE_ERROR

辅助返回代码;请求违反了即时请求模式协议。 发现收到的当前会话控制或数据流控制状态的标头请求或请求单位无效。 已阻止传递到半会话组件。

LUA_QUEUED_RESPONSE_ERROR

辅助返回代码;请求违反了排队响应协议。 发现收到的当前会话控制或数据流控制状态的标头请求或请求单位无效。 已阻止传递到半会话组件。

LUA_ERP_SYNC_EVENT_ERROR

辅助返回代码;发生了违反 ERP 同步事件协议的情况。 发现收到的当前会话控制或数据流控制状态的标头请求或请求单位无效。 已阻止传递到半会话组件。

LUA_RSP_CORRELATION_ERROR

辅助返回代码;发送的响应与之前收到的请求不对应,或者收到的响应与以前发送的请求不对应。

LUA_RSP_PROTOCOL_ERROR

辅助返回代码;在从主半会话收到的响应中发现违反响应协议。

LUA_BB_NOT_ALLOWED

辅助返回代码;未正确指定开始方括号指示器。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

允许LUA_EB_NOT

辅助返回代码;未正确指定结束方括号指示器。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_EXCEPTION_RSP_NOT_ALLOWED

辅助返回代码;如果不允许异常响应,则请求了一个异常响应。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_DEFINITE_RSP_NOT_ALLOWED

辅助返回代码;当不允许明确响应时,会请求一个响应。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_CD_NOT_ALLOWED

辅助返回代码;错误地指定了更改方向指示器。 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_NO_RESPONSE_NOT_ALLOWED

辅助返回代码;EXR 以外的请求包含“无响应” 请求标头参数值违反了以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_CHAINING_NOT_SUPPORTED

辅助返回代码;未正确指定链接指示器。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_BRACKETS_NOT_SUPPORTED

辅助返回代码;未正确指定括号指示器。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_CD_NOT_SUPPORTED

辅助返回代码;已设置更改方向指示器,但对于这种情况,LUA 不支持更改方向。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_USE_OF_FI

辅助返回代码;格式指示器未正确指定。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_ALTERNATE_CODE_NOT_SUPPORTED

辅助返回代码;已设置代码选择指示器,但 LUA 不支持此会话的代码选择。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_RU_CATEGORY

辅助返回代码;错误地指定了请求单位类别指示器。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_REQUEST_CODE

辅助返回代码;错误地指定了请求代码。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_SPEC_OF_SDI_RTI

辅助返回代码;未在响应中正确指定包含感知数据的指示器 (SDI) 和响应类型指示器 (RTI) 。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_DR1I_DR2I_ERI

辅助返回代码;明确响应 1 指示符 (DR1I) ,确定响应 2 指示器 (DR2I) ,异常响应指示器 (ERI) 指定不正确。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_USE_OF_QRI

辅助返回代码;未正确指定 QRI) (排队响应指示器。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_USE_OF_EDI

辅助返回代码;未正确指定 EDI) (加密的数据指示器。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_INCORRECT_USE_OF_PDI

辅助返回代码;未正确指定 PDI) (填充数据指示器。 请求标头参数值违反了先前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 未能强制实施会话规则的发送方可能已导致错误。

LUA_UNSUCCESSFUL
主返回代码;提供的谓词记录有效,但谓词未成功完成。

LUA_VERB_RECORD_SPANS_SEGMENTS

辅助返回代码;LUA VCB 长度参数加上段偏移量超出段末尾。

LUA_NOT_ACTIVE

辅助返回代码;发出 LUA 谓词时,LUA 在 Microsoft Host Integration Server 中未处于活动状态。

LUA_INVALID_PROCESS

辅助返回代码;发出 LUA 谓词的会话不可用,因为另一个进程拥有该会话。

LUA_LU_INOPERATIVE

辅助返回代码;尝试停止会话时发生严重错误。 在从主机收到激活的逻辑单元 (ACTLU) 之前,此 LU 对于任何 LUA 请求不可用。

LUA_RECEIVE_CORRELATION_TABLE_FULL

辅助返回代码;会话接收请求流的相关表达到其容量。

LUA_NEGATIVE_RESPONSE
主返回代码;LUA 对由于在消息中发现错误而从主逻辑单元接收的消息 (PLU) 发送了负面响应,或者应用程序对链末到达的链做出了负面响应。

LUA_FUNCTION_NOT_SUPPORTED

辅助返回代码;LUA 不支持请求的函数。 控制字符、RU 参数或格式化请求代码可能已指定函数。 特定感知代码信息以字节 2 和 3 为单位。

LUA_DATA_TRAFFIC_RESET

辅助返回代码;活动会话的半会话,但具有非活动数据流量收到了正常的流 DFC 或 FMD 请求。 发现接收方当前会话控制或数据流控制状态的请求标头或请求单元无效。 已阻止传递到半会话组件。

LUA_DATA_TRAFFIC_NOT_RESET

辅助返回代码;未重置数据流量状态时,已收到会话控制请求。 找到接收的当前会话控制或数据流控制状态的请求标头或请求单位无效。 已阻止传递到半会话组件。

LUA_SC_PROTOCOL_VIOLATION

辅助返回代码; (SC) 协议的会话控制发生冲突。 请求 (,该请求仅在 SC 请求和对请求的积极响应成功交换后才允许,) 在所需的交换之前收到。 感知数据的字节 4 包含请求代码。 此感知代码不存在用户数据。 发现收到的当前会话控制或数据流控制状态的标头请求或请求单位无效。 已阻止传递到半会话组件。

LUA_INVALID_SC_OR_NC_RH

辅助返回代码;SC 或 NC 请求的 RH 无效。

LUA_PACING_NOT_SUPPORTED

辅助返回代码;当接收半会话或边界函数半会话不支持此会话的节奏时,请求包含一个节奏指示器。 lua_rh 值违反了 以前选择的 BIND 选项或体系结构规则。 已阻止传递到半会话组件。 错误不依赖于当前会话状态。 发送方未能强制实施会话规则可能导致错误。

LUA_NAU_INOPERATIVE

辅助返回代码;网络可寻址单元 (NAU) 无法处理响应或请求。 由于以下原因之一,无法传送到接收方:

路径信息单元错误

路径中断

激活请求序列无效

如果在活动会话期间收到路径错误,这通常意味着会话伙伴不再有有效路径。

LUA_CANCELED
主返回代码;辅助返回代码提供取消命令的原因。

LUA_TERMINATED

辅助返回代码;当谓词挂起时,会话已终止。 谓词进程已取消。

LUA_IN_PROGRESS
主返回代码;已收到异步命令,但未完成。

LUA_STATUS
主返回代码;辅助返回代码包含应用程序的 SLI 状态信息。

LUA_READY

辅助返回代码;在NOT_READY状态后,发出此状态以通知你 SLI 已准备好处理命令。

LUA_NOT_READY

辅助返回代码;收到 SNA UNBIND 类型0x02命令,这意味着即将推出新的 BIND。

如果在开始SLI_OPEN完成后收到 UNBIND 类型 0x02 ,会话将暂停,直到收到 BIND、可选 CRV 和 STSN 以及 SDT 流。 这些例程会重新进入,因为它们必须再次调用。 会话在 SLI 处理 SDT 命令后恢复。

如果在SLI_OPEN仍在处理时收到 UNBIND 类型0x02,则主要返回代码为会话失败,而不是状态。 或者,收到 SNA CLEAR 导致暂停。 收到 SNA SDT 将导致会话恢复。

LUA_INIT_COMPLETE

辅助返回代码;LUA 接口在处理 SLI_OPEN 时初始化了会话。 使用 lua_open_type_prim_sscp 参数发出SLI_OPEN LUA 应用程序会在SLI_RECEIVE或SLI_BID接收此状态。

LUA_SESSION_END_REQUESTED

辅助返回代码;LUA 接口从主机收到 SNA shutdown 命令 (SHUTD) ,这意味着主机已准备好关闭会话。

LUA_COMM_SUBSYSTEM_ABENDED
主要返回代码;指示以下状况之一:

此对话使用的节点遇到了 ABEND。

(LAN 错误) ,事务程序 (TP) 与物理单元 (PU) 2.1 节点之间的连接已断开。

TP 计算机上的 SnaBase 遇到 ABEND。

LUA_COMM_SUBSYSTEM_NOT_LOADED
主要返回代码;处理谓词时无法加载或终止某个必需的组件。 因此无法通信。 请联系系统管理员以执行纠正措施。

LUA_INVALID_VERB_SEGMENT
主要返回代码;VCB 超出了数据段的末尾。

LUA_UNEXPECTED_DOS_ERROR
主返回代码;发出操作系统调用后,收到意外的操作系统返回代码,并在辅助返回代码中指定。

LUA_STACK_TOO_SMALL
主要返回代码;应用程序的堆栈大小太小,无法执行谓词。 增加应用程序的堆栈大小。

LUA_INVALID_VERB
主返回代码;谓词代码或操作代码或两者都无效。 谓词未执行。

注解

SLI_BID 执行以下操作:

  • 通知 Windows LUA 应用程序正在等待读取消息。

  • 提供当前会话状态。

  • 提供SLI_RECEIVE将读取的下一条消息 预览。

    此预览版包含最多 12 字节的信息 (速览数据) ,使 Windows LUA 应用程序能够定义其数据的处理策略。

    若要在 Windows LUA 应用程序中使用 SLI_BID ,请发出 SLI_BID。 谓词完成后,可以通过以下两种方式重新激活它:

  • 重新颁发 SLI_BID

  • lua_flag1_bid_enable设置为 1 的问题SLI_RECEIVE。 这会发出一个SLI_BID,该SLI_BID使用 VCB 最近接受的地址并建立有效出价。

    每个会话一次只能有一个 SLI_BID

    如果在 Windows LUA 应用程序发出SLI_BID时有多个消息可用,则返回优先级最高的数据流。 数据的返回顺序如下:

  • SSCP 加速

  • LU 加速

  • SSCP 正常

  • LU 正常

    如果 SLI_RECEIVE 的标志设置为读取多种类型的消息流, 则 SLI_BID 返回的数据可能针对的流不同于通过 SLI_RECEIVE实际接收数据的流。 当更高优先级的数据在SLI_BID完成处理之后、发出SLI_RECEIVE之前从主机到达时,会出现这种情况。

    为了确保SLI_RECEIVE读取数据,返回的SLI_BID指定与已完成SLI_BID返回lua_flag2匹配的流。

会话状态返回值

如果LUA_STATUS是主要返回代码,则辅助返回代码可以是LUA_READY、LUA_NOT_READY、LUA_SESSION_END_REQUESTED或LUA_INIT_COMPLETE。 此外,如果 LUA_STATUS 是主返回代码,则使用以下参数:

lua_sec_rc

lua_sid

LUA_READY在LUA_NOT_READY状态后返回,指示 SLI 再次准备好执行所有命令。

LUA_NOT_READY指示 SLI 会话已挂起,因为 SLI 已收到 SNA CLEAR 命令或 SNA UNBIND 命令,其类型为 0x02 UNBIND (UNBIND 以及 BIND 即将) 。 根据导致挂起的原因,可以重新激活会话,如下所示:

  • 当挂起由 SNA CLEAR 引起时,接收 SNA SDT 会重新激活会话。

  • 当即将推出的 SNA UNBIND 类型 BIND 导致会话挂起并且打开会话 的SLI_OPEN 完成时,会话将暂停,直到 SLI 收到 BIND 和 SDT 命令。 会话还可以选择性地接收 STSN 命令。 因此,必须使用初始SLI_OPEN颁发的用户提供的例程重新输入,因为它们将被召回。

    应用程序可以在 CLEAR 或 UNBIND 类型 BIND 到达后以及读取“未就绪”状态之前发送 SSCP 数据。 应用程序可以在读取“未就绪”后发送和接收 SSCP 数据。

    当在打开会话的SLI_OPEN完成之前到达的 SNA UNBIND 类型 BIND 时,LUA_SESSION_FAILURE (不LUA_STATUS) 是主要返回代码。

    LUA_SESSION_END_REQUESTED指示应用程序收到了来自主机的 SNA SHUTD。 Windows LUA 应用程序应发出 SLI_CLOSE ,以在方便时关闭会话。

    仅当LUA_INIT_TYPE_PRIM_SSCP SLI_OPEN的lua_init_type时,才会返回LUA_INIT_COMPLETE。 状态表示SLI_OPEN已得到充分处理,允许现在发送或接收 SSCP 数据。

异常请求

如果将主机应用程序请求单元转换为 EXR,将返回感知数据。 当 SLI_BID 完成且返回的谓词参数集(如图所示)时,将发生 EXR 转换。

成员 设置为
lua_prim_rc 确定 (0x0000)
lua_sec_rc 确定 (0x00000000)
lua_rh.rri bit off (请求单位)
lua_rh.sdi bit on (包括感知数据)

在 lua_peek_data 中的 7 个字节数据中,字节 0 到 3 定义检测到的错误。 下表指示可能的感知数据以及字节 0 到 3 的值。

感知数据 字节值 0-3
LUA_MODE_INCONSISTENCY 0x08090000
LUA_BRACKET_RACE_ERROR 0x080B0000
LUA_BB_REJECT_NO_RTR 0x08130000
LUA_RECEIVER_IN_TRANSMIT_MODE 0x081B0000
LUA_CRYPTOGRAPHY_FUNCTION_INOP 0x08480000
LUA_SYNC_EVENT_RESPONSE 0x10010000
LUA_RU_DATA_ERROR 0x10020000
LUA_RU_LENGTH_ERROR 0x10020000
LUA_INCORRECT_SEQUENCE_NUMBER 0x20010000

lua_peek_data中返回到字节 3 到 6 的信息由导致错误的初始请求单位的前 3 个字节决定。

另请参阅

RUI_INIT
SLI_CLOSE
SLI_OPEN
SLI_RECEIVE