LUA VCB 的一般結構
下列資料結構顯示所有 Microsoft® Windows® 邏輯單元應用程式通用的參數, (LUA) 動詞。
語法
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_COMMON;
備註
成員
lua_verb
提供的參數。 包含動詞程式碼,LUA_VERB_RUI要求單位介面 (RUI) 動詞或 SLI 動詞命令的LUA_VERB_SLI。 在這兩個宏中,值都是0x5200。
lua_verb_length
提供的參數。 指定 LUA VCB 的位元組長度。 它必須包含發出之動詞記錄的長度。
lua_prim_rc
LUA 在動詞完成時所設定的主要傳回碼。 有效的傳回碼會根據發出的 LUA 動詞命令而有所不同。
lua_sec_rc
LUA 在動詞完成時所設定的次要傳回碼。 有效的傳回碼會根據發出的 LUA 動詞命令而有所不同。
lua_opcode
提供的參數。 包含 LUA 命令程式碼 (動詞作業程式碼) ,例如,LUA_OPCODE_RUI_BID RUI_BID 動詞命令。 下列是有效值:
LUA_OPCODE_SLI_OPEN
LUA_OPCODE_SLI_CLOSE
LUA_OPCODE_SLI_RECEIVE
LUA_OPCODE_SLI_SEND
LUA_OPCODE_SLI_PURGE
LUA_OPCODE_SLI_BID
LUA_OPCODE_SLI_BIND_ROUTINE
LUA_OPCODE_SLI_STSN_ROUTINE
LUA_OPCODE_SLI_CRV_ROUTINE
LUA_OPCODE_RUI_INIT
LUA_OPCODE_RUI_TERM
LUA_OPCODE_RUI_READ
LUA_OPCODE_RUI_WRITE
LUA_OPCODE_RUI_PURGE
LUA_OPCODE_RUI_BID
lua_correlator
提供的參數。 包含使用者提供的值,這個值會連結動詞命令與其他使用者提供的資訊。 LUA 不會使用或變更此資訊。 這是選擇性參數。
lua_luname
提供的參數。 指定 Windows LUA 會話所使用的本機 LU 的 ASCII 名稱。
SLI_OPEN 和 RUI_INIT 需要此參數。 其他 Windows LUA 動詞命令只有在 lua_sid 為零時才需要此參數。
如果名稱短于八個字元,則此參數長度為 8 個位元組,在右側填補空格 (0x20) 。
lua_extension_list_offset
指定從 VCB 開始到使用者提供之動態連結程式庫延伸模組清單的位移, (DLL) 。 Microsoft® Host Integration Server 中的 RUI 不會使用此參數,而且應該設定為零。 除非沒有延伸模組清單,否則此值必須是字邊界的開頭。
lua_cobol_offset
COBOL 延伸模組的位移。 LUA 不會在主機整合伺服器中使用,而且應該是零。
lua_sid
提供和傳回的參數。 指定會話識別碼,並由 SLI_OPEN 和 RUI_INIT傳回。 其他動詞命令會使用此參數來識別用於命令的會話。 如果其他動詞使用 lua_luname 參數來識別會話,請將 lua_sid 參數設定為零。
lua_max_length
指定接收的緩衝區長度,用於 RUI_READ和 SLI_RECEIVE。 若為其他 RUI 和 SLI 動詞,則不會使用它,而且應該設定為零。
lua_data_length
指定要傳送或接收之資料的長度。 它會指定RUI_BID動詞命令lua_peek_data中傳回的資料長度。
lua_data_ptr
應用程式提供的緩衝區指標。
發出 SLI_RECEIVE 或 RUI_READ 時,此參數會指向要從主機接收資料的位置。
發出 SLI_SEND 或 RUI_WRITE 時,此參數會指向要傳送至主機的應用程式資料位置。
發出 SLI_PURGE 或 RUI_PURGE 時,此參數會指向 要 取消 之SLI_RECEIVE或RUI_READ 動詞的 VCB 位置。
發出 SLI_OPEN 時,此參數可以是下列其中一項:
當初始化類型是具有未格式化登入訊息的次要時,SSCP 一般流程的登入訊息。
INITSELF 的要求/回應單位 (RU) 。 當初始化類型是 INITSELF 的次要類型時,會提供應用程式的必要資料。
對於所有其他開啟類型,此欄位應設定為零。
對於其他 RUI 和工作階段層級介面 (SLI) 動詞命令,則不會使用此參數,而且應該設定為零。 SNA 命令和資料都會放在這個緩衝區中,而且它們可以是 EBCDIC 格式。
此資訊是由 Windows LUA 應用程式所提供。
lua_post_handle
提供的參數。 如果事件要完成非同步通知,請在 Windows 下使用。 此變數包含要發出訊號的事件控制碼或視窗控制碼。lua_th
傳回的參數。 包含傳送或接收之訊息的 TH 傳輸標頭 (TH) 。 針對寫入函式設定各種子參數,並針對讀取和計價函式傳回。 子參數如下所示:lua_th.flags_fid
格式識別類型 2,四個位。
lua_th.flags_mpf
區隔對應欄位,兩個位。 定義資料區段的類型。 下列是有效值:
0x00 中間區段
0x01 最後一個區段
0x02 第一個區段
僅限0x03 區段
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) 。 它會設定為寫入函式,並由讀取和報價函式傳回。 其子參數如下所示:
lua_rh.rri
要求-回應指標,一個位。
lua_rh.ruc
RU 類別,兩個位。 下列是有效值:
LUA_RH_FMD (LUA_RH_FMD 0x00) FM資料區段LUA_RH_NC ( (0x20) 網路 (控制LUA_RH_DFC0x40 () ) 資料流程控制LUA_RH_SC 0x60) 會話控制)
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
提供的參數。 包含資料結構,其中包含應用程式所提供之訊息的旗標。 此參數由RUI_BID、RUI_READ、RUI_WRITE、SLI_BID、SLI_RECEIVE和SLI_SEND使用。 若為其他 LUA 動詞,則不會使用此參數,而且應該設定為零。 其子參數如下所示:
lua_flag1.bid_enable
啟用標號指標,一位。
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 一般流程,一位。
lua_message_type
指定輸入或輸出 SNA 命令和資料的類型。 這是RUI_INIT和SLI_OPEN的傳回參數,以及SLI_SEND的提供參數。 對於其他 LUA 動詞,不會使用這個變數,而且應該設定為零。
可能的值包括:
LUA_MESSAGE_TYPE_LU_DATA
LUA_MESSAGE_TYPE_SSCP_DATA
LUA_MESSAGE_TYPE_BID
LUA_MESSAGE_TYPE_BIND
LUA_MESSAGE_TYPE_BIS
LUA_MESSAGE_TYPE_CANCEL
LUA_MESSAGE_TYPE_CHASE
LUA_MESSAGE_TYPE_CLEAR
LUA_MESSAGE_TYPE_CRV
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_SHUTD
LUA_MESSAGE_TYPE_SIGNAL
LUA_MESSAGE_TYPE_SDT
LUA_MESSAGE_TYPE_STSN
LUA_MESSAGE_TYPE_UNBIND
SLI 會透過 LUA 介面擴充常式接收並回應 BIND、CRV 和 STSN 要求。
LU_DATA、LUSTAT_LU、LUSTAT_SSCP和SSCP_DATA不是 SNA 命令。
lua_flag2
傳回的參數。 包含 LUA 所傳回之訊息的旗標。 此參數 是由RUI_BID、 RUI_READ、 RUI_WRITE、 SLI_BID、 SLI_RECEIVE和 SLI_SEND傳回。 對於其他 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
這個提供的參數是 SLI_OPEN 和 RUI_INIT所使用的保留字段。 對於所有其他 LUA 動詞,此參數是保留的,而且應該設定為零。
lua_encr_decr_option
此參數是密碼編譯選項的欄位。 在 RUI_INIT上,僅支援下列專案:
lua_encr_decr_option = 0
lua_encr_decr_option = 128
對於所有其他 LUA 動詞,此參數是保留的,而且應該設定為零。