Cancel_Conversation (CPI-C)

Cancel_Conversation呼叫 (函式名稱cmcanc) 會取消交談上任何未完成的作業, (傳回CM_OPERATION_INCOMPLETE) 和交談本身的作業。

語法

  
CM_ENTRY Cancel_Conversation(   
  unsigned char FAR *conversation_ID,    
    CM_INT32 FAR *return_code              
);  

參數

conversation_ID
傳回的參數。 指定交談的識別碼。 此參數的值是由 Initialize_ConversationAccept_Conversation傳回。

return_code
從這個呼叫傳回的程式碼。 本主題稍後會列出有效的傳回碼。

傳回碼

CM_OK
主要傳回碼;已成功執行呼叫。

CM_PROGRAM_PARAMETER_CHECK
主要傳回碼; conversation_ID 指定的值無效。

CM_PRODUCT_SPECIFIC_ERROR
主要傳回碼;發生產品特定的錯誤,並已記錄在產品錯誤記錄檔中。

狀態變更

交談必須處於 RESET 以外的任何狀態。

當傳回碼CM_OK時,交談狀態會變成 RESET。

備註

另一個作業針對指定的conversation_ID使用中時,可以呼叫 Cancel_Conversation。 這可讓應用程式結束任何 CPI-C 動作,但會終止交談。 不論目前的應用程式處理模式為何,都可以發出此呼叫。 任何未完成的作業都會傳回CM_DEALLOCATED_ABEND作為傳回碼。

交談會由已將 deallocate_type 設為 ABEND_SVCDeallocate終止。 不會傳送 任何log_data 。 系統可能無法立即執行此動作,但程式的任何延遲都是透明的。

注意

如果在有未完成的Specify_Windows_Handle非同步呼叫時呼叫Cancel_Conversation,則會取消這些呼叫。 傳回碼會設定為已取消,並張貼完成訊息。