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_SSCP 時 initType ,這個傳回碼才有效。 |
CLU0_E_NEG_RESPONSE | 主機或 SNA 伺服器已將負面回應傳送給 INITSELF。 或者,主機或 SNA 伺服器可能已傳送未格式化的登入命令。 只有當 設定為 INIT_INITSELF 或 INIT_LOGON 時 initType ,這個值才為 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 登入訊息之後抵達。 |