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
MICROSOFT主機整合伺服器中 ® LUA 未使用,且應為零。
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
次要傳回碼;在 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 動詞命令時,在 Microsoft 主機整合伺服器內未使用 LUA。
LUA_UNEXPECTED_SNA_SEQUENCE
次要傳回碼; 處理SLI_OPEN 時,從主機收到非預期的數據或命令。
LUA_NEGATIVE_RSP_CHASE
次要傳回碼;正在處理 SLI_CLOSE 時,來自主機的 SNA CHASE 命令的負面回應是由 LUA 介面所接收。 SLI_CLOSE 繼續處理以停止會話。
LUA_NEGATIVE_RSP_SHUTC
次要傳回碼;SLI 收到來自主機之 SNA SHUTC 命令的負面回應,但 SLI_CLOSE 仍在處理中。 SLI_CLOSE 繼續處理以停止會話。
LUA_NEGATIVE_RSP_SHUTD
次要傳回碼;來自主機的 SNA RSHUTD 命令的負面回應是由 LUA 介面接收,但 SLI_CLOSE 仍在處理中。 SLI_CLOSE 繼續處理以停止會話。
LUA_RECEIVED_UNBIND
次要傳回碼;主要邏輯單元 (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:normal 和 ABEND。 針對一般關閉, lua_flag1.close_abend 會設定為零。 一般關閉的序列可以起始為主要(主機起始)或次要(由 Windows LUA 應用程式要求)。 在主要正常關閉期間,Windows LUA 介面:
讀取 SHUTD 命令,並將SESSION_END_REQUESTED狀態張貼至應用程式。
寫入 CHASE 命令(如有必要)。
讀取並處理 CHASE 命令回應(如有必要)。
寫入關機完成 (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 LU 無法維持會話。