SLI_SEND_EX
SLI_SEND_EX動詞會將來自 Microsoft® Windows® 邏輯單元應用程式的回應、SNA 命令和資料, (LUA) 應用程式傳送至主機邏輯單元 (LU) 。
SLI_SEND_EX動詞也支援輸入鏈結。 單一動詞動詞可以傳送的資料長度上限為 4,294,967,295 個位元組。 這與SLI_SEND動詞可傳送的最大 65,535 個位元組進行比較。
下列結構描述SLI_SEND_EX所使用的動詞控制項區塊 (VCB) LUA_COMMON成員。
下列第二個語法聯集描述SLI_SEND_EX所使用的VCB LUA_SPECIFIC成員。 為了清楚起見,會省略其他等位成員。
語法
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;
};
union LUA_SPECIFIC {
struct SLI_SEND_EX_SPECIFIC {
unsigned char lua_sequence_number[2];
unsigned long lua_data_length_ex;
};
};
成員
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_SEND_EX。
lua_correlator
提供的 參數。 包含使用者提供的值,可連結動詞與其他使用者提供的資訊。 LUA 不會使用或變更此資訊。 這是選擇性參數。
lua_luname
提供的 參數。 指定 Windows LUA 會話所使用的本機 LU 的 ASCII 名稱。
SLI_SEND只有在lua_sid為零時,才需要此參數。
此參數長度為八個位元組,如果名稱小於八個字元,則以空格填補右邊 (0x20) 。
lua_extension_list_offset
SLI_SEND_EX未 使用,且 應該設定為零。
lua_cobol_offset
LUA 在 Microsoft® Host Integration Server 或 SNA Server 中使用,而且應該設定為零。
lua_sid
提供和傳回的參數。 指定會話識別碼,並由 SLI_OPEN 和 RUI_INIT傳回。 其他動詞會使用此參數來識別用於命令的會話。 如果其他動詞使用 lua_luname 參數來識別會話,請將 lua_sid 參數設定為零。
lua_max_length
SLI_SEND_EX未 使用,且 應該設定為零。
lua_data_length
此參數是保留的,而且必須設定為零。
要傳送的資料長度是在 lua_data_length_ex 參數中設定。
lua_data_ptr
應用程式提供的緩衝區指標,其中包含要透過 SLI_SEND_EX傳送至主機的資料。
SNA 命令和資料都會放在此緩衝區中,而且它們可以是擴充二進位編碼十進位交換程式碼, (EBCDIC) 格式。
lua_post_handle
提供的 參數。 如果事件要完成非同步通知,則用於 Microsoft Windows Server。 此變數包含要發出訊號的事件控制碼或視窗控制碼。
lua_th
傳回的參數。 包含所接收訊息的 SNA 傳輸標頭 (TH) 。 針對寫入函式設定各種子參數,並針對讀取和 bid 函式傳回。 其子參數如下所示:
lua_th.flags_fid
格式識別類型 2,四個位。
lua_th.flags_mpf
區隔對應欄位,兩個位。 定義資料區段的類型。 下列是有效值:
0x00 中間區段0x04 [最後一個區段]0x08 [僅限第一個區段]0x0C 區段
lua_th.flags_odai
原始位址欄位-目的地位址欄位 (OAF–DAF) 指派器指標,一位。
lua_th.flags_efi
加速流程指示器,一位。
lua_th.daf
目的地位址欄位 (DAF) ,不帶正負號的字元。
lua_th.oaf
原始位址欄位 (OAF) ,不帶正負號的字元。
lua_th.snf
序號欄位,不帶正負號的 char[2]。
lua_rh
提供的 參數。 包含傳送或接收之訊息的 SNA 要求/回應標頭 (RH) 。 它 設定RUI_WRITE 和 SLI_SEND,並由 RUI_READ 和 RUI_BID傳回。 針對 SLI_SEND_EX的 RH,會使用佇列回應指標以外的所有欄位, (lua_rh.qri) 和步調指示器 (lua_rh.pi) 。
lua_rh.rri
要求回應指標,一位。
lua_rh.ruc
要求/回應單位 (RU) 類別,兩個位。
lua_rh.fi
格式化指標,一位。
lua_rh.sdi
包含指標的感知資料,一位。
lua_rh.bci
開始鏈結指標,一位。
lua_rh.eci
結束鏈結指標,一位。
lua_rh.dr1i
明確回應 1 指標,一位。
lua_rh.dr2i
明確回應 2 指標,一位。
lua_rh.ri
要求) 的例外狀況回應指標 (,或回應類型指標 (回應) ,一位。
lua_rh.qri
佇列回應指標,一位。
lua_rh.pi
步調指標,一位。
lua_rh.bbi
開始括弧指標,一位。
lua_rh.ebi
尾括弧指標,一位。
lua_rh.cdi
變更方向指標,一位。
lua_rh.csi
程式碼選取指標,一位。
lua_rh.edi
加密的資料指標,一個位。
lua_rh.pdi
填補的資料指標,一個位。
lua_flag1
提供的 參數。 包含包含應用程式所提供訊息旗標的資料結構。 其子參數如下所示:
lua_flag1.bid_enable
Bid enable indicator, one bit.
lua_flag1.close_abend
關閉立即指標,一位。
lua_flag1.nowait
沒有等候資料旗標,一個位。
lua_flag1.sscp_exp
系統服務控制點 (SSCP) 加速流程,一位。
lua_flag1.sscp_norm
SSCP 一般流程,一位。
lua_flag1.lu_exp
LU 加速流程,一位。
lua_flag1.lu_norm
LU 一般流程,一位。
將下列其中一個旗標設定為 1,以指出要傳送資料的訊息流程:
lua_flag1.sscp_exp
lua_flag1.sscp_norm
lua_flag1.lu_exp
lua_flag1.lu_norm
lua_message_type
指定輸入和輸出 SNA 命令和資料的類型。 這是 SLI_SEND_EX的提供參數。
可能值如下所示:
LUA_MESSAGE_TYPE_LU_DATA
LUA_MESSAGE_TYPE_SSCP_DATA
LUA_MESSAGE_TYPE_RSP
LUA_MESSAGE_TYPE_BID
LUA_MESSAGE_TYPE_BIS
LUA_MESSAGE_TYPE_CANCEL
LUA_MESSAGE_TYPE_CHASE
LUA_MESSAGE_TYPE_LUSTAT_LU
LUA_MESSAGE_TYPE_LUSTAT_SSCP
LUA_MESSAGE_TYPE_QC
LUA_MESSAGE_TYPE_QEC
LUA_MESSAGE_TYPE_RELQ
LUA_MESSAGE_TYPE_RQR
LUA_MESSAGE_TYPE_RTR
LUA_MESSAGE_TYPE_SBI
LUA_MESSAGE_TYPE_SIGNAL
SLI 會透過 LUA 介面延伸模組常式接收和回應 BIND 和 STSN 要求。
LU-DATA、LUSTAT_LU、LUSTAT_SSCP和SSCP_DATA不是 SNA 命令。
lua_flag2
傳回的參數。 包含 LUA 所傳回之訊息的旗標。 其子參數如下所示:
lua_flag2.bid_enable
表示如果設定為 1,則已成功重新啟用 RUI_BID 。
lua_flag2.async
指出如果設定為 1,LUA 介面動詞會以非同步方式完成。
lua_flag2.sscp_exp
如果設定為 1,表示 SSCP 加速流程。
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_SEND_EX未 使用,且 應該設定為零。
lua_sequence_number
SLI_SEND_EX所使用的聯集成員LUA_SPECIFIC。 傳回的參數。 包含鏈結要求單位中第一個或鏈結要求單位中唯一區段的序號。 請注意,此參數不是反位元組。
lua_data_length_ex
SLI_SEND_EX所使用的聯集成員LUA_SPECIFIC。 提供的 參數。 指定所傳送資料的長度。
傳回碼
LUA_OK
主要傳回碼;成功執行動詞。
LUA_SEC_OK
次要傳回碼;LUA_OK沒有任何其他資訊存在。
LUA_PARAMETER_CHECK
主要傳回碼;動詞因為參數錯誤而未執行。
LUA_INVALID_LUNAME
次要傳回碼;指定了無效 lua_luname 。
LUA_BAD_SESSION_ID
次要傳回碼;在 VCB 中指定 了無效值lua_sid 。
LUA_BAD_DATA_PTR
次要傳回碼; lua_data_ptr 參數不包含有效的指標,或未指向讀取/寫入區段,而且需要提供的資料。
LUA_RESERVED_FIELD_NOT_ZERO
次要傳回碼;剛發出動詞的保留參數不會設定為零。
LUA_INVALID_POST_HANDLE
次要傳回碼;對於使用事件做為非同步張貼方法的 Microsoft Windows 作業系統,Windows LUA VCB 不包含有效的事件控制碼。
LUA_INVALID_FLOW
次要傳回碼;發出動詞時 ,lua_flag1 流程旗標設定不正確:
發出 SLI_SEND_EX 以傳送 SNA 回應時,請只設定一個 lua_flag1 流程旗標。
發出 SLI_RECEIVE_EX時,至少設定一個lua_flag1流程旗標。
LUA_VERB_LENGTH_INVALID
次要傳回碼;LUA 動詞是針對 LUA 非預期的 lua_verb_length 發出。
LUA_REQUIRED_FIELD_MISSING
次要傳回碼;如果資料計數不是零) 或不包含lua_flag1流程旗標,則發出動詞未包含資料指標 ( 。
LUA_INVALID_MESSAGE_TYPE
次要傳回碼;LUA 介面無法辨識 lua_message_type 參數。
LUA_DATA_LENGTH_ERROR
次要傳回碼;應用程式未提供所發出動詞所需的使用者提供資料。 請注意,當針對 SNA LUSTAT 命令發出 SLI_SEND_EX 時,需要四個位元組的狀態 () , 而且當SLI_OPEN 發出次要初始化時,需要資料。
LUA_STATE_CHECK
主要傳回碼;動詞未執行,因為其發行狀態無效。
LUA_NO_SLI_SESSION
次要傳回碼;會話未開啟或因為發出命令時 發生SLI_CLOSE 或會話失敗而關閉。
LUA_MAX_NUMBER_OF_SENDS
次要傳回碼;應用程式在完成之前發出第三個 SLI_SEND 或 SLI_SEND_EX 。
LUA_SEND_ON_FLOW_PENDING
次要傳回碼;當應用程式針對 SNA 流程發出另一個SLI_SEND_EX時,SLI_SEND或SLI_SEND_EX仍然未完成。
LUA_SESSION_FAILURE
主要傳回碼;次要傳回碼中指定的錯誤狀況會導致會話失敗。
LUA_RECEIVED_UNBIND
次要傳回碼;PLU 主要邏輯單元 (PLU) 在會話作用中時,將 SNA UNBIND 命令傳送至 LUA 介面。 因此,會話已停止。
LUA_SLI_LOGIC_ERROR
次要傳回碼;LUA 介面在邏輯中發現內部錯誤。
LUA_NO_RUI_SESSION
次要傳回碼;未針對發出 LUA 動詞的會話進行初始化,或在初始化會話之前發出 SLI_OPEN 以外的一些動詞。
LUA_LU_COMPONENT_DISCONNECTED
次要傳回碼;LU 元件無法使用,因為它未正確連線。 請確定電源已開啟。
LUA_DATA_SEGMENT_LENGTH_ERROR
次要傳回碼;發生下列其中一項:
SLI_RECEIVE_EX或SLI_SEND_EX所提供的資料區段並非視需要讀取/寫入資料區段。
SLI_RECEIVE_EX所提供的資料區段,只要lua_max_length_ex中提供的資料區段就不一樣。
SLI_SEND_EX所提供的資料區段,只要lua_data_length_ex中提供的資料區段就不一樣。
LUA_VERB_RECORD_SPANS_SEGMENTS
次要傳回碼;LUA VCB 長度參數加上區段位移超出線段結尾。
LUA_NOT_ACTIVE
次要傳回碼;LUA 在發出 LUA 動詞時,在 Microsoft Host Integration Server 或 SNA Server 內未使用。
LUA_SLI_LOGIC_ERROR
次要傳回碼;LUA 介面在邏輯中發現內部錯誤。
LUA_INVALID_PROCESS
次要傳回碼;發出 LUA 動詞動詞的會話無法使用,因為另一個 OS/2 進程擁有會話。
LUA_LU_INOPERATIVE
次要傳回碼;LUA 嘗試停止會話時發生嚴重錯誤。 在從主機收到啟動邏輯單元 (ACTLU) 之前,任何 LUA 要求都無法使用此 LU。
LUA_MODE_INCONSISTENCY
次要傳回碼;目前狀態不允許執行此函式。 即使已瞭解並支援,傳送至半會話元件的要求也不會執行。 此 SNA 感知程式碼也是例外狀況要求感知程式碼。
LUA_INSUFFICIENT_RESOURCES
次要傳回碼;資源不足的暫時條件導致要求接收者無法執行。 即使已瞭解並支援,傳送至半會話元件的要求也不會執行。
LUA_SEND_CORRELATION_TABLE_FULL
次要傳回碼;會話傳送要求之流程的相互關聯資料表已達其容量。
LUA_RU_LENGTH_ERROR
次要傳回碼;RU 要求長度不正確, (太短或太長) 。 即使要求單位傳遞至半會話元件,也不會解譯或處理要求單位。 半會話功能不相符。 此 SNA 感知程式碼也是例外狀況要求感知程式碼。
LUA_FUNCTION_NOT_SUPPORTED
次要傳回碼;LUA 不支援要求的函式。 控制字元、RU 參數或格式化的要求程式碼可能已指定 函式。 特定感知程式碼資訊以位元組 2 和 3 為單位。
LUA_HDX_BRACKET_STATE_ERROR
次要傳回碼;現有的狀態錯誤導致目前的要求無法傳送。 判斷是由通訊協定電腦所決定。
LUA_RESPONSE_ALREADY_SENT
次要傳回碼;鏈結的回應已經傳送,因此目前的要求並未傳送。 判斷是由通訊協定電腦所決定。
LUA_EXR_SENSE_INCORRECT
次要傳回碼;應用程式以負面方式回應例外狀況要求。 無法接受感知程式碼。
LUA_RESPONSE_OUT_OF_ORDER
次要傳回碼;目前回應不是針對最舊的要求。 判斷是由通訊協定電腦所決定。
LUA_CHAIN_RESPONSE_REQUIRED
次要傳回碼;嘗試提出較新的要求時,仍未完成一個所回應的。。 判斷是由通訊協定電腦所決定。
LUA_BRACKET
次要傳回碼;傳送者無法強制執行會話括弧規則。 請注意,爭用和競爭條件會豁免此錯誤。 找到接收者目前會話控制項或資料流程控制狀態的要求標頭或要求單位無效。 已防止傳遞至半會話元件。
LUA_DIRECTION
次要傳回碼;當半雙工翻轉盤狀態NOT_RECEIVE時,收到正常流程的要求。 找到接收者目前會話控制項或資料流程控制狀態的要求標頭或要求單位無效。 已防止傳遞至半會話元件。
LUA_DATA_TRAFFIC_RESET
次要傳回碼;使用中會話的半會話,但具有非使用中資料流量的一般流量流量控制 (DFC) 或函式管理資料 (FMD) 要求。 找到接收者目前會話控制項或資料流程控制狀態的要求標頭或要求單位無效。 已防止傳遞至半會話元件。
LUA_DATA_TRAFFIC_QUIESCED
次要傳回碼;從傳送 SHUTC 命令或 QC 命令的半會話收到 DFC 或 FMD 要求,而 DFC 或 FMD 要求尚未回應 RELQ 命令。 找到接收者目前會話控制項或資料流程控制狀態的要求標頭或要求單位無效。 已防止傳遞至半會話元件。
LUA_DATA_TRAFFIC_NOT_RESET
次要傳回碼;當資料流量狀態未重設時,已收到會話控制要求。 找到接收之目前會話控制項或資料流程控制狀態的要求標頭或要求單位無效。 已防止傳遞至半會話元件。
LUA_NO_BEGIN_BRACKET
次要傳回碼;當收到指定 BBI=BB 的 BID 或 FMD 要求時,接收者已將正回應傳送至 BIS 命令。 找到接收之目前會話控制項或資料流程控制狀態的要求標頭或要求單位無效。 已防止傳遞至半會話元件。
LUA_SC_PROTOCOL_VIOLATION
次要傳回碼;發生 SC 通訊協定違規。 只有在 SC 要求之後才允許的要求 (,以及成功交換該要求的正面回應,) 在必要的交換之前收到。 感知資料的位元組 4 包含要求碼。 此意義程式碼沒有任何使用者資料存在。 找到不正確標頭要求或資料流程控制狀態。 已防止傳遞至半會話元件。
LUA_IMMEDIATE_REQUEST_MODE_ERROR
次要傳回碼;要求違反立即要求模式通訊協定。 找到接收之目前會話控制項或資料流程控制狀態的標頭要求或要求單位無效。 已防止傳遞至半會話元件。
LUA_QUEUED_RESPONSE_ERROR
次要傳回碼;要求違反佇列回應通訊協定。 找到接收之目前會話控制項或資料流程控制狀態的標頭要求或要求單位無效。 已防止傳遞至半會話元件。
LUA_ERP_SYNC_EVENT_ERROR
次要傳回碼;發生 ERP 同步事件通訊協定的違規。 找到接收之目前會話控制項或資料流程控制狀態的標頭要求或要求單位無效。 已防止傳遞至半會話元件。
LUA_RSP_BEFORE_SENDING_REQ
次要傳回碼;先前收到的要求尚未回應,而且嘗試以半雙工傳送/接收模式傳送一般流程要求。 找到接收之目前會話控制項或資料流程控制狀態的標頭要求或要求單位無效。 已防止傳遞至半會話元件。
LUA_RSP_CORRELATION_ERROR
次要傳回碼;已傳送的回應未對應至先前收到的要求,或收到未對應至先前傳送要求的回應。
LUA_BB_NOT_ALLOWED
次要傳回碼;未正確指定開始括弧指標。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
允許LUA_EB_NOT
次要傳回碼;未正確指定尾括弧指標。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_EXCEPTION_RSP_NOT_ALLOWED
次要傳回碼;不允許例外狀況回應時,已要求一個。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_DEFINITE_RSP_NOT_ALLOWED
次要傳回碼;不允許明確回應時,已要求一個回應。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_CD_NOT_ALLOWED
次要傳回碼;未正確指定變更方向指標。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_NO_RESPONSE_NOT_ALLOWED
次要傳回碼;EXR 以外的要求包含「無回應」。先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_CHAINING_NOT_SUPPORTED
次要傳回碼;鏈結指標未正確指定。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_BRACKETS_NOT_SUPPORTED
次要傳回碼;括弧指標未正確指定。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_CD_NOT_SUPPORTED
次要傳回碼;已設定變更方向指標,但 LUA 不支援這種情況的變更方向。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_INCORRECT_USE_OF_FI
次要傳回碼;格式指標未正確指定。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_ALTERNATE_CODE_NOT_SUPPORTED
次要傳回碼;已設定程式碼選取指標,但 LUA 不支援此會話的程式碼選取。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_INCORRECT_REQUEST_CODE
次要傳回碼;要求程式碼未正確指定。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_INCORRECT_SPEC_OF_SDI_RTI
次要傳回碼;未在回應上正確指定 SDI 和 RTI。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_INCORRECT_DR1I_DR2I_ERI
次要傳回碼;DR1I、DR2I 和 ERI 未正確指定。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_INCORRECT_USE_OF_QRI
次要傳回碼;佇列回應指標未正確指定。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_INCORRECT_USE_OF_EDI
次要傳回碼;未正確指定 EDI。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_INCORRECT_USE_OF_PDI
次要傳回碼;未正確指定 PDI。 先前選擇的 BIND 選項,或要求標頭參數值違反架構規則。 已防止傳遞至半會話元件。 錯誤不相依于目前的會話狀態。 傳送者無法強制執行會話規則可能會導致錯誤。
LUA_NO_SESSION
次要傳回碼;需要啟動會話的要求,因為來源目的地配對的接收端節點中沒有作用中的半會話存在,或沒有提供界限函式之節點中原始目的地配對的作用中界限函式半會話元件存在。 由於下列其中一個原因,無法傳遞要求:
路徑資訊單位錯誤
路徑中斷
啟用的要求序列無效
如果在作用中的會話期間收到路徑錯誤,這通常表示會話夥伴不再有有效的路徑。
LUA_CANCELED
主要傳回碼;次要傳回碼提供取消命令的原因。
LUA_TERMINATED
次要傳回碼;當動詞擱置時,會話已終止。 動詞程式已取消。
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_SEND_EX 會將回應、SNA 命令和資料從 Windows LUA 應用程式傳送至主機 LU。
SLI_SEND_EX和SLI_SEND之間的差異在於,SLI_SEND_EX動詞支援輸入鏈結,而且最多可以在單一動詞要求中傳送最多 4,295 KB (KB) 。 相反地,SLI_SEND僅限於在動詞要求中傳送最多 64 KB。 單一SLI_SEND_EX或SLI_SEND動詞會定義鏈結。 單一SLI_RECEIVE_EX或SLI_RECEIVE動詞會收到整個鏈結。
會話必須已經開啟,才能針對特定 LU-LU 會話流程發出SLI_SEND_EX。 若要在 完成SLI_OPEN之前,在 SSCP 正常流程上傳送資料,會話必須已初始化為具有 SSCP 存取權的主要。 此外,會話狀態必須INIT_COMPLETE。
lua_message_type的設定會決定SLI_SEND_EX完成的處理類型。 下表指出要根據lua_message_type值所設定的參數。
SLI_SEND_EX參數 | LU_DATA SSCP_DATA |
出價 BIS Rtr |
追逐 QC |
LUSTAT_LU LUSTAT_SSCP |
QEC RELQ Sbi 信號 |
RQR | RSP |
---|---|---|---|---|---|---|---|
lua_data _長度 |
Req. | 0 | 0 | Req. | 0 | 0 | 如果沒有任何資料) , (0 |
lua_data _Ptr |
如果沒有任何資料) , (0 | 0 | 0 | Req. | 0 | 0 | 如果沒有任何資料) , (0 |
lua_flag1流程旗標 | 0 | 0 | 0 | 0 | 0 | 0 | Req. (設定一個) |
lua_rh | FI DRL1 DRL2 RI BBI EBI CDI CSI EDI | SDI QRI | SDI QRI EBI CDI | SDI QRI DRL1 DRL2 RI BBI EBI CDI | Sdi | 0 | RRI RI |
lua_th | 0 | 0 | 0 | 0 | 0 | 0 | SNF |
lua_data_ptr中提供的位置,以及lua_data_length_ex中提供的長度會決定 SLI 傳送的資料。 如有必要,資料將會由 SLI 動詞命令鏈結。
傳送回應時,回應類型會決定所需的SLI_SEND_EX資訊。 針對所有回應,您必須:
設定選取 lua_flag1 流程旗標。
針對您回應的要求,提供 lua_th.snf 中的序號。
將 [lua_message_type] 設定為 [LUA_MESSAGE_TYPE_RSP]。
對於多鏈訊息回應,必須使用最後一個接收鏈結元素的序號。 若要回應以 CANCEL 命令結尾的多鏈訊息,則會使用 CANCEL 命令序號。
對於只需要要求碼的正回應,請將 lua_rh.ri 設定為零, (指出回應為正數) ,lua_data_length為 (零,表示未提供任何資料) 。 要求碼會使用提供的序號,由 SLI 填入。
針對將 lua_rh.ri 設為 1 的負面回應,請將lua_data_ptr設定為 SNA 感知碼位址,並將lua_data_length設為 SNA 感知碼長度, (四個位元組) 。 SLI 會使用序號來填入要求碼。
另請參閱
RUI_INIT
RUI_READ
RUI_WRITE
SLI_BID
SLI_CLOSE
SLI_OPEN
SLI_RECEIVE_EX