Initialize_Conversation呼叫 (函式名稱 cminit) 是由叫用程式發出,以取得 8 位元組的交談標識碼,並設定交談特性的初始值。
語法
CM_ENTRY Initialize_Conversation(
unsigned char FAR *conversation_ID,
unsigned char FAR *sym_dest_name,
CM_INT32 FAR *return_code
);
參數
conversation_ID
傳回的參數。 指定交談的標識碼。 後續 CPI-C 呼叫會使用它。
sym_dest_name
提供的參數。 指定符號目的地名稱—與從組態檔載入或 由Set_CPIC_Side_Information 呼叫所定義的側邊資訊專案相關聯的名稱。
此參數是8位元組的 ASCII 字元字串。 允許的字元如下所示:
大寫字母
從 0 到 9 的數位
此參數也可以設定為八個空格。 在此情況下,叫用程式必須先發出下列呼叫,才能發出 Allocate:
-
return_code
從這個呼叫傳回的程序代碼。 本主題稍後會列出有效的傳回碼。
回傳代碼
CM_OK
主要傳回碼;已成功執行的呼叫。
CM_PROGRAM_PARAMETER_CHECK
主要傳回碼; sym_dest_name 所指定的值不符合側邊資訊數據表中的符號目的地名稱,而且不是空格。
CM_PRODUCT_SPECIFIC_ERROR
主要傳回碼;發生產品特定的錯誤,且已在產品錯誤記錄檔中記錄。
狀態變更
交談處於 RESET 狀態。
如果 return_code CM_OK,交談會變更為 INITIALIZE 狀態。 對於其他傳回碼,交談狀態會維持不變。
備註
初始值 CPI-C 預設值,或衍生自與符號目的地名稱相關聯的側邊資訊。 如需初始值和側邊資訊的詳細資訊,請參閱 CPI-C 程式 的初始交談特性 和 側邊資訊。
Set_呼叫可以變更初始值。
如果側邊資訊包含無效的值或 Set_ 呼叫會將交談特性設定為無效的值,則會在 Allocate 呼叫上傳回錯誤。
如果 CPI-C 應用程式嘗試叫用多個並行交談,則所有交談只會使用單一本機 APPC 邏輯單元 (LU)。 這可防止在兩個或多個相依的 LU 6.2 RU 之間進行並行交談,導致後續的Initialize_Conversation (CMALLC) 呼叫等待解除分配第一個交談。
如果 CPI-C 應用程式需要叫用多個並行交談,則必須在主機整合伺服器與遠端系統之間使用獨立的 LU 6.2。
成功執行此呼叫時,CPI-C 會產生交談標識符。 此標識碼是叫用程式針對此交談發出之所有其他 CPI-C 呼叫的必要參數。
在正常情況下,CPI-C 應用程式無法使用兩個不同的本機APPC RU叫用兩個並行交談。 登錄機碼可供使用,當 set 強制 CPI-C 在每個Initialize_Conversation (cminit) 呼叫上發出新的TP_STARTED動詞。 這需要強制每個呼叫的APPC資源位置。 必須定義才能強制執行此行為的登錄機碼如下:
\HKLM\CurrentControlSet\Services\SnaBase\Parameters\Client\GETNEWTPID