SLI_CLOSE

SLI_CLOSE谓词结束使用 SLI_OPEN 打开的会话。 发布 LU-LU 和 LU-SSCP 资源。

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

语法

  
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;  
  
};  

成员

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_CLOSE。

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

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

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

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

lua_extension_list_offset
不由SLI_CLOSE使用,应设置为零。

lua_cobol_offset
Microsoft® Host Integration Server 中的 LUA 不使用,应为零。

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

lua_max_length
不由SLI_CLOSE使用,应设置为零。

lua_data_length
不由SLI_CLOSE使用,应设置为零。

lua_data_ptr
不由SLI_CLOSE使用,应设置为零。

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

lua_th
不由SLI_CLOSE使用,应设置为零。

lua_rh
不由SLI_CLOSE使用,应设置为零。

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

lua_flag1.bid_enable

出价启用指示器,一位。

lua_flag1.close_abend

关闭即时指示器,一位。 SLI_CLOSE提供的参数,用于指定会话是立即关闭 (ON) 还是正常关闭 (OFF) 。 对于 除 SLI_CLOSE 以外的谓词,此标志必须关闭。

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_CLOSE使用,应设置为零。

lua_flag2
返回的参数。 包含 LUA 返回的消息的标志。

lua_flag2.async

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

lua_resv56
保留,应设置为零。

lua_encr_decr_option
不由SLI_CLOSE使用,应设置为零。

返回代码

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

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

LUA_VERB_LENGTH_INVALID

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

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

LUA_NO_SLI_SESSION

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

LUA_CLOSE_PENDING

辅助返回代码;发生了以下情况之一:

  • 发出另一个CLOSE_ABEND时,CLOSE_ABEND仍在等待。 如果CLOSE_NORMAL挂起,可以发出CLOSE_ABEND。

  • 发出CLOSE_NORMAL时,CLOSE_ABEND或CLOSE_NORMAL仍处于挂起状态。

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

    LUA_NOT_ACTIVE

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

    LUA_UNEXPECTED_SNA_SEQUENCE

    辅助返回代码;在处理 SLI_OPEN 时,从主机收到意外数据或命令。

    LUA_NEGATIVE_RSP_CHASE

    辅助返回代码;在处理 SLI_CLOSE 时,LUA 接口从主机收到对 SNA CHASE 命令的负面响应。 SLI_CLOSE 继续处理以停止会话。

    LUA_NEGATIVE_RSP_SHUTC

    辅助返回代码;在仍在处理 SLI_CLOSE 时,SLI 收到主机对 SNA SHUTC 命令的负面响应。 SLI_CLOSE 继续处理以停止会话。

    LUA_NEGATIVE_RSP_SHUTD

    辅助返回代码;LUA 接口在仍在处理 SLI_CLOSE 时收到主机对 SNA RSHUTD 命令的负面响应。 SLI_CLOSE 继续处理以停止会话。

    LUA_RECEIVED_UNBIND

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

    LUA_NO_RUI_SESSION

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

    LUA_LU_COMPONENT_DISCONNECTED

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

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

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

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

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

  • 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_CLOSE:normal 和 ABEND。 对于正常收盘, lua_flag1.close_abend 设置为零。 正常关闭的序列可以作为主 (主机启动) 或 Windows LUA 应用程序) 请求的辅助 (启动。 在主要正常关闭期间,Windows LUA 接口:

  • 读取 SHUTD 命令并将SESSION_END_REQUESTED状态发布到应用程序。

  • 如有必要,) (编写 CHASE 命令。

  • 根据需要) 读取和处理 (CHASE 命令响应。

  • (SHUTC) 命令写入关闭完成。

  • 读取和处理 SHUTC 命令响应。

  • 根据需要) 读取和处理 CLEAR 命令 (。

  • 如有必要,) 编写 CLEAR 命令响应 (。

  • 读取和处理 UNBIND 命令。

  • 写入 UNBIND 命令响应。

  • 停止会话。

    在辅助正常关闭期间,Windows LUA 接口:

  • 写入 RSHUTD 命令。

  • 读取和处理 RSHUTD 命令响应。

  • 根据需要) 读取和处理 CLEAR 命令 (。

  • 如有必要,) 编写 CLEAR 命令响应 (。

  • 读取和处理 UNBIND 命令。

  • 写入 UNBIND 命令响应。

  • 停止会话。

    对于 ABEND 关闭, lua_flag1.close_abend 设置为 1,这会指示 Windows LUA 接口立即关闭会话。 SLI_CLOSE开始处理后,LU-LU 连接将终止,并通知 SSCP LU 无法维持会话。

另请参阅

SLI_OPEN