SLI_BIND_ROUTINE
SLI_BIND_ROUTINE動詞命令會通知 Microsoft® Windows® 邏輯單元應用程式 (LUA) 應用程式 BIND 要求來自主機,並允許使用者提供的常式檢查要求並制訂回應。
下列結構描述SLI_BIND_ROUTINE所使用的動詞控制區塊 (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_BIND_ROUTINE。
lua_correlator
提供的參數。 包含使用者提供的值,這個值會連結動詞命令與其他使用者提供的資訊。 LUA 不會使用或變更此資訊。 這是選擇性參數。
lua_luname
提供的參數。 指定 Windows LUA 會話所使用的本機 LU 的 ASCII 名稱。
SLI_BIND_ROUTINE只有在lua_sid為零時,才需要此參數。
如果名稱短于八個字元,則此參數長度為 8 個位元組,在右側填補空格 (0x20) 。
lua_extension_list_offset
SLI_BIND_ROUTINE未使用,且應設定為零。
lua_cobol_offset
LUA 不會在 Microsoft® Host Integration Server 或 SNA Server 中使用,而且應該是零。
lua_sid
提供的參數。 指定會話識別碼,並由 SLI_OPEN 和 RUI_INIT傳回。 其他動詞命令會使用此參數來識別用於命令的會話。 如果其他動詞使用 lua_luname 參數來識別會話,請將 lua_sid 參數設定為零。
lua_max_length
SLI_BIND_ROUTINE未使用,且應設定為零。
lua_data_length
傳回的參數。 指定 BIND 要求/回應單位的長度, (RU) 資料緩衝區中傳回的資料。
lua_data_ptr
針對 SLI_BIND_ROUTINE 此參數包含 BIND RU 的位址。
lua_post_handle
提供的參數。 如果事件要完成非同步通知,請在 Microsoft Windows Server 下使用。 此變數包含要發出訊號的事件控制碼或視窗控制碼。
lua_th
提供的參數。 包含所接收訊息的 SNA 傳輸標頭 (TH) 。 會針對讀取和計價函式傳回各種子參數。
lua_rh
提供的參數。 包含傳送或接收之訊息的 SNA 要求/回應標頭 (RH) 。
lua_flag1
提供的參數。 包含資料結構,其中包含應用程式所提供之訊息的旗標。
lua_message_type
提供的參數。 指定傳送至主機的 SNA 資料或命令類型。
lua_flag2
傳回的參數。 包含 LUA 所傳回之訊息的旗標。
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_BIND_ROUTINE未使用,且應設定為零。
傳回碼
LUA_OK
主要傳回碼;已成功執行動詞。
LUA_SEC_OK
次要傳回碼;LUA_OK沒有其他資訊存在。
LUA_NEGATIVE_RSP
主要傳回碼;LUA 傳送負回應給從主要邏輯單元接收的訊息, (PLU) ,因為訊息中發現錯誤,或應用程式對鏈結結束抵達的鏈結做出負面回應。
備註
SLI_BIND_ROUTINE 提供 Windows LUA 應用程式的機制,以檢查從主機接收的 BIND 要求。 Windows LUA 會使用使用者提供的動態連結程式庫 (DLL) ,通知 Windows LUA 應用程式已收到 BIND 要求。 然後,使用者提供的 DLL 常式會檢查 BIND 的內容,並制訂要求的回應。
常式的 DLL 名稱是以 SLI_OPEN 動詞 VCB 的延伸模組的形式提供。 lua_extension_list_offset參數提供從 VCB 開頭到延伸模組清單中的名字的位移。
Windows LUA 介面會指派 VCB 結構化的儲存空間。 SLI_BIND_ROUTINE的 VCB 包含lua_th和lua_rh。 BIND RU 的位址是在 lua_data_ptr中指定,而 RU 的長度是在 lua_data_length中指定。
當SLI_BIND_ROUTINE返回 Windows LUA 時,SLI_BIND_ROUTINE處理已完成。 BIND 回應應該覆寫 BIND RU。 接受 BIND 時,主要傳回碼應該設定為LUA_OK。 如果已拒絕 BIND,則主要傳回碼應該設定為LUA_NEGATIVE_RSP,而 BIND 緩衝區則包含負面意義程式碼。 不應該修改lua_data_ptr參數。
如果從SLI_BIND_ROUTINE傳回負回應, 則會取消SLI_OPEN 。 SLI_OPEN的lua_prim_rc設定為 LUA_SESSION_FAILURE,而lua_sec_rc設定為 LUA_NEG_RSP_FROM_BIND_ROUTINE。
另請參閱
RUI_INIT
RUI_PURGE
RUI_READ
RUI_WRITE
SLI_OPEN
SLI_PURGE
SLI_RECEIVE
SLI_SEND