Share via


IcomLUO.CreateSession 方法

建立新的 LU0 會話。

語法

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

參數

參數 Description
connectionSTR Null 終止的字串,表示新會話的連接屬性。 字串會以 「PROPERTY=VALUE」,以空格分隔的格式呈現。 連接屬性名稱和值不區分大小寫。 如需連線屬性的詳細資訊,請參閱 IcomLUO 會話屬性。
initType 包含會話初始化類型。 如需詳細資訊,請參閱「註解」一節。
data 指標類型為不帶正負號字元的陣列,其中包含 INITSELF 或 SSCP 登入訊息。 只有在包含INIT_INITSELF或INIT_LOGON時才 initType 使用。
timeout 等候 BIND 和 SDT 命令抵達的毫秒時間週期。 如果 SDT 到達 SNA 伺服器 LU 之前逾時到期,則會釋放 SNA 伺服器 LU 並傳回錯誤。

timeout輸入 0xfffffff 表示無限的等候時間。
sessionHandle 當這個方法成功傳回時,會包含代表基礎 LU0 會話之 comLU0 會話物件的 IUnknown 介面指標。 如同這個介面的參考一樣,會話物件會保持不變。

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

如果未指定 LU 屬性,comLU0 將會選取指派給執行所在使用者帳戶的最佳可用 LU。

傳回值

下表描述 CreateSession 的傳回碼。

描述
S_OK 已成功建立 LU0 會話。 LU 會話為作用中且已準備好接收輸入。
CLU0_S_SSCP_ACTIVE 已成功建立 LU0 會話。 SSCP 會話為作用中,且已準備好接收輸入。

只有當 設定為 INIT_SSCPinitType ,這個傳回碼才有效。
CLU0_E_NEG_RESPONSE 主機或 SNA 伺服器已將負面回應傳送給 INITSELF。

或者,主機或 SNA 伺服器可能已傳送未格式化的登入命令。 只有當 設定為 INIT_INITSELFINIT_LOGONinitType ,這個值才為 true。
CLU0_E_BADPARM connectionStr 包含不正確屬性設定。
CLU0_E_NOFREELU 中指定的 luname LU 是 SNA 伺服器 LU 集區。 集區目前沒有任何免費的 RU。
CLU0_E_LUINUSE 中指定的 luname LU 是 SNA 伺服器 LU。 此 LU 目前正由另一個應用程式使用。
CLU0_E_LUNOTFOUND LU 或集區名稱不存在。
CLU0_E_TIMEDOUT 會話未在指定的逾時內啟動。
CLU0_E_SESSION_FAILED 會話無法啟動,且未連線到任何 TSS LU0 會話。

應用程式應該嘗試使用相同的或不同的連接屬性來建立新的會話,否則請連線到不同的 TSS 會話控制碼。
CLU0_E_ACCESSDENIED 用戶端的使用者帳戶沒有使用要求的 LU 或集區的許可權。
CLU0_E_ALREADY_CONNECTED comLU0 用戶端已經連線到另一個會話。
CLU0_E_SYSERROR 因為發生內部錯誤而失敗。

備註

下表包含 的可能值 initType

名稱 Description
INIT_BIND 0 等候 PLU 中的未經請求的 BIND 和 SDT。
INIT_SSCP 1 等候 BIND 和 SDT 抵達,但允許存取 SSCP 會話,讓應用程式傳送 SSCP 資料和命令。
INIT_INITSELF 2 在傳送 中指定的 data INITSELF 命令之後,等候 BIND 和 SDT 抵達。
INIT_LOGON 3 等候 BIND 和 SDT 在傳送 中指定的 data UNFORMATTED SSCP 登入訊息之後抵達。

另請參閱

IcomLU0 方法
LU0 的工作階段整合器