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 名稱。
SLI_CLOSE只有在lua_sid為零時,才需要此參數。
如果名稱短于八個字元,則此參數長度為 8 個位元組,在右側填補空格 (0x20) 。
lua_extension_list_offset
SLI_CLOSE未使用 ,且 應設定為零。
lua_cobol_offset
LUA 在 Microsoft® Host Integration Server 中未使用,且應為零。
lua_sid
提供的參數。 指定會話識別碼,並由 SLI_OPEN 和 RUI_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
表示如果設為 1,則 LUA 介面動詞命令會以非同步方式完成。
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
次要傳回碼;lua_sid在 VCB 中指定了不正確值。
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 收到 SLI 對 SNA SHUTC 命令的負面回應,但 SLI_CLOSE 仍在處理中。 SLI_CLOSE 繼續處理以停止會話。
LUA_NEGATIVE_RSP_SHUTD
次要傳回碼;對來自主機的 SNA RSHUTD 命令的負面回應,已在處理 SLI_CLOSE 時由 LUA 介面接收。 SLI_CLOSE 繼續處理以停止會話。
LUA_RECEIVED_UNBIND
次要傳回碼;PLU 主要邏輯單元 (PLU) 在會話作用中時,將 SNA UNBIND 命令傳送至 LUA 介面。 因此,會話已停止。
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:一般和 ABEND。 針對一般關閉, lua_flag1.close_abend 會設定為零。 一般關閉的順序可以起始為主要 (主機起始) 或 Windows LUA 應用程式要求) 的次要 (。 在主要正常關閉期間,Windows LUA 介面:
讀取 SHUTD 命令,並將SESSION_END_REQUESTED狀態張貼至應用程式。
視需要) ,請 (WRITE 命令。
視需要) ,讀取和處理所 (的 CHASE 命令回應。
寫入 shutdown complete (SHUTDOWNC) 命令。
讀取和處理 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 無法維持會話。