SLI_STSN_ROUTINE谓词通知Microsoft® Windows® 逻辑单元应用程序(LUA)应用程序 STSN 命令来自主机,并允许用户提供的例程检查请求并制定响应。
以下结构描述了SLI_STSN_ROUTINE使用的谓词控制块(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_STSN_ROUTINE。
lua_correlator
提供的参数。 包含一个用户提供的值,该值将谓词与其他用户提供的信息链接在一起。 LUA 不使用或更改此信息。 此参数是可选的。
lua_luname
提供的参数。 指定 Windows LUA 会话使用的本地 LU 的 ASCII 名称。
SLI_STSN_ROUTINE仅当lua_sid为零时才需要此参数。
如果名称短于 8 个字符,则此参数长度为 8 字节,用空格(0x20)在右侧填充。
lua_extension_list_offset
SLI_STSN_ROUTINE 不使用,应 设置为零。
lua_cobol_offset
MICROSOFT Host Integration Server 或 SNA Server 中® LUA 不使用,且应为零。
lua_sid
提供的参数。 指定会话标识符,并由 SLI_OPEN 和 RUI_INIT返回。 其他谓词使用此参数标识用于命令的会话。 如果其他谓词使用 lua_luname 参数标识会话,请将 lua_sid 参数设置为零。
lua_max_length
SLI_STSN_ROUTINE 不使用,应 设置为零。
lua_data_length
返回的参数。 指定数据缓冲区中返回的 STSN 请求/响应单元(RU)数据的长度。
lua_data_ptr
对于 SLI_STSN_ROUTINE 此参数包含 STSN RU 的地址。
lua_post_handle
提供的参数。 在Microsoft Windows Server 下使用(如果事件要完成异步通知)。 此变量包含要发出信号的事件句柄或窗口句柄。
对于所有其他环境,此参数是保留的,应设置为零。
lua_th
返回的参数。 包含收到的消息的 SNA 传输标头(TH)。 为读取和投标函数返回各种子参数。
lua_rh
返回的参数。 包含已发送或接收的消息的 SNA 请求/响应标头(RH)。
lua_flag1
提供的参数。 包含包含应用程序提供的消息标志的数据结构。
lua_message_type
提供的参数。 指定发送到主机的 SNA 数据或命令的类型。
lua_flag2
返回的参数。 包含 LUA 返回的消息的标志。
lua_flag2.async
指示 LUA 接口谓词在设置为 1 时异步完成。
lua_flag2.sscp_exp
指示系统服务控制点(SSCP)如果设置为 1,则加速流。
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_STSN_ROUTINE 不使用,应 设置为零。
返回代码
LUA_OK
主要返回代码;已成功执行谓词。
LUA_SEC_OK
辅助返回代码;LUA_OK不存在其他信息。
LUA_NEGATIVE_RSP
主要返回代码;LUA 向从主逻辑单元(PLU)接收的消息发送了负面响应,因为消息中发现了错误,或者应用程序对已到达链尾的链做出负面响应。
注解
SLI_STSN_ROUTINE 为 Windows LUA 应用程序提供检查和响应 STSN 命令的机制。 Windows LUA 通知 Windows LUA 应用程序 STSN 命令已从主机接收。 这是通过用户提供的动态链接库(DLL)完成的。 用户 DLL 会检查 STSN 请求并制定对请求的响应。
例程的 DLL 名称作为 SLI_OPEN 谓词 VCB 的扩展提供。 lua_extension_list_offset参数提供从 VCB 开头到扩展列表中的名字的偏移量。
Windows LUA 接口分配用于构造 VCB 的存储空间。 SLI_STSN_ROUTINE的 VCB 包含lua_th和lua_rh。 STSN RU 的地址在lua_data_ptr中指定,RU 的长度在lua_data_length中指定。
当SLI_STSN_ROUTINE返回到 Windows LUA 时,将完成SLI_STSN_ROUTINE的处理。 STSN 响应应覆盖 STSN RU。 接受 STSN 后,主返回代码应设置为LUA_OK。 如果 STSN 被拒绝,主返回代码应设置为LUA_NEGATIVE_RSP,STSN 缓冲区包含负感知代码。 不应修改lua_data_ptr参数。
如果从SLI_STSN_ROUTINE返回负响应, 则取消SLI_OPEN 。 SLI_OPEN的lua_prim_rc设置为LUA_SESSION_FAILURE,lua_sec_rc设置为LUA_NEG_RSP_FROM_STSN_ROUTINE。
另请参阅
RUI_INIT
RUI_PURGE
RUI_READ
RUI_WRITE
SLI_OPEN
SLI_PURGE
SLI_RECEIVE
SLI_SEND