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 终止, deallocate_type 设置为 ABEND_SVC。 不发送 任何log_data 。 系统可能无法立即执行此操作,但任何延迟对程序都是透明的。

注意

如果在存在未完成 Specify_Windows_Handle 异步调用时调用 Cancel_Conversation ,则取消这些调用。 返回代码设置为“已取消”,并发布完成消息。