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_Conversation 或 Accept_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 ,则取消这些调用。 返回代码设置为“已取消”,并发布完成消息。