IcomLUO.CreateSession 方法

建立一個新的 LU0 會話。

語法

  
void CreateSession(  
   string connectionSTR,  
   short initType,  
   ref System.Array data,  
   int timeout,  
   out object sessionHandle  
)  

參數

參數 說明
connectionSTR NULL 終止字串,表示新工作階段的連線特性。 字串以「PROPERTY=VALUE」的空格區分格式呈現。 連線屬性名稱與值不區分大小寫。 欲了解更多連線屬性,請參閱 IcomLUO 會話屬性。
initType 包含會話初始化類型。 更多資訊請參閱留言區。
data 指標是一個類型為未符號字元的陣列,包含 INITSELF 或 SSCP 的登入訊息。 僅當 initType 包含 INIT_INITSELF 或 INIT_LOGON 時才使用。
timeout 等待 BIND 和 SDT 指令到達所需的毫秒時間。 如果在 SDT 到達之前逾時到期,SNA 伺服器的 LU 將被釋放,並會返回錯誤。

將0xfffffff輸入到timeout表示等待時間無限。
sessionHandle 當此方法成功返回時,它會包含一個指向 IUnknown 介面的指標,此指標指向 comLU0 會話物件,該物件代表底層的 LU0 會話。 只要保留對此介面的參考,會話物件就會保持完整。

此介面可傳遞至 IcomLU0.Connect 方法,以連接 comLU0 物件與會話。

若未指定 LU 屬性,comLU0 會選擇分配給正在運行的使用者帳號的最佳可用 LU。

傳回值

下表說明了 CreateSession 的回傳代碼。

價值 說明
S_OK LU0 會話成功建立。 LU 會話處於啟動狀態,準備接收輸入。
CLU0_S_SSCP_ACTIVE LU0 會話成功建立。 SSCP 會話處於啟用狀態,準備接收輸入。

此回傳碼僅在 initType 被設定為 INIT_SSCP時有效。
CLU0_E_NEG_RESPONSE (負回應) 主機或 SNA 伺服器向 INITSELF 發送了否定回應。

或許主機或 SNA 伺服器會發送未格式化的登入指令。 這僅 initType 在 設為 INIT_INITSELF 或 INIT_LOGON時成立。
CLU0_E_BADPARM connectionStr 包含一個無效的屬性設定。
CLU0_E_NOFREELU luname 指定的 LU 是 SNA 伺服器的 LU 池。 目前該池沒有任何空閒的 LU。
CLU0_E_LUINUSE 所 luname 指定的 LU 是 SNA 伺服器 LU。 這個 LU 目前被另一個應用程式使用。
CLU0_E_LUNOTFOUND LU 或 pool 名稱不存在。
CLU0_E_TIMEDOUT 該場次未在指定的暫停時間內開始。
CLU0_E_SESSION_FAILED 該會話未能啟用,且未連接到任何 TSS LU0 會話。

應用程式應嘗試使用相同或不同的連線屬性建立新會話,或連接至不同的 TSS 會話帳號。
CLU0_E_ACCESSDENIED 客戶的使用者帳號沒有權限使用所請求的 LU 或資源池。
CLU0_E_ALREADY_CONNECTED comLU0 用戶端已經連接到另一個會話。
CLU0_E_SYSERROR 因內部錯誤而失敗。

備註

下表包含了 的 initType可能值。

名稱 價值 說明
INIT_BIND 0 等待來自PLU的未經請求的BIND和SDT。
INIT_SSCP 1 等待 BIND 和 SDT 抵達,但允許應用程式存取 SSCP 會話,以便傳送 SSCP 資料與指令。
INIT_INITSELF 2 在發送 INITSELF 指令 data後,等待 BIND 和 SDT 送達。
INIT_LOGON 3 在發送指定為未格式化的 SSCP 登入訊息 data後,等待 BIND 和 SDT 送達。

另請參閱

IcomLU0 方法
LU0 的會話整合器