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_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

表示如果設為 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 無法維持會話。

另請參閱

SLI_OPEN