Allocate (CPI-C)
叫用程式會使用目前的交談特性,發出 Allocate 呼叫 (函式名稱 cmallc) 。 CPI-C 也可以在本機邏輯單元 (LU) 和夥伴 LU 之間配置會話,如果尚未存在。
語法
CM_ENTRY Allocate(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *return_code
);
參數
conversation_ID
提供的參數。 指定交談識別碼。 這個參數的值是由 Initialize_Conversation傳回。
return_code
從這個呼叫傳回的程式碼。 本主題稍後會列出有效的傳回碼。
傳回碼
CM_OK
主要傳回碼;已成功執行呼叫。
CM_OPERATION_NOT_ACCEPTED
主要傳回碼;這個值表示此交談上的先前作業不完整。
CM_OPERATION_INCOMPLETE
主要傳回碼;交談上已啟動非封鎖作業,但尚未完成。 程式可以發出 Wait_For_Conversation 等候作業完成或 Cancel_Conversation 取消作業和交談。
CM_PARAMETER_ERROR
主要傳回碼;發生下列其中一項:
衍生自側資訊或 由 Set_Mode_Name 設定的模式名稱無效。
SNA 服務交易程式會使用模式名稱, (TP) ;叫用程式沒有使用此模式名稱的授權。 例如 SNASVCMG。
從側邊資訊衍生的合作夥伴計畫是 SNA 服務 TP;本機程式沒有將交談配置給 SNA 服務 TP 所需的許可權。
合作夥伴計畫是參與基本交談的服務 TP,但交談會設定為CM_MAPPED_CONVERSATION。
衍生自側資訊或 Set_Partner_LU_Name 所設定的夥伴 LU 名稱無效。
CM_PROGRAM_PARAMETER_CHECK
主要傳回碼; conversation_ID 指定的值無效,或變數的位址無效。CM_PROGRAM_STATE_CHECK
主要傳回碼;交談不是處於 INITIALIZE 狀態。CM_PRODUCT_SPECIFIC_ERROR
主要傳回碼;發生產品特定的錯誤,並已記錄在產品錯誤記錄檔中。CM_UNSUCCESSFUL
主要傳回碼;交談傳回控制特性會設定為 CM_IMMEDIATE,而且本機 LU 沒有可用的競爭勝出會話。如果交談傳回控制項類型設定為CM_WHEN_SESSION_ALLOCATED,就可以產生下列傳回碼。
CM_ALLOCATE_FAILURE_NO_RETRY
主要傳回碼;因為有永久條件,例如設定錯誤或會話通訊協定錯誤,所以無法配置交談。 若要判斷錯誤,系統管理員應該檢查錯誤記錄檔。 在更正錯誤之前,請勿重試配置。CM_ALLOCATE_FAILURE_RETRY
主要傳回碼;因為暫時性狀況,例如連結失敗,所以無法配置交談。 失敗的原因會記錄在系統錯誤記錄檔中。 重試配置。狀態變更
發出 配置 時,交談必須處於 INITIALIZE 狀態。
下表摘要說明的狀態變更是以 return_code 參數的值為基礎。
return_code | 新增狀態 |
---|---|
CM_OK | SEND |
CM_ALLOCATE_FAILURE_NO_RETRY | RESET |
CM_ALLOCATE_FAILURE_RETRY | RESET |
All others | 沒有變更 |
備註
配置的交談類型是以交談類型特性為基礎:對應或基本。
當此呼叫已配置交談時,無法變更下列交談特性: