Cancel_Conversation (CPI-C)
La llamada Cancel_Conversation (nombre de función cmcanc) cancela cualquier operación pendiente en una conversación (una operación devuelta con CM_OPERATION_INCOMPLETE) y la propia conversación.
Sintaxis
CM_ENTRY Cancel_Conversation(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *return_code
);
Parámetros
conversation_ID
Parámetro devuelto. Especifica el identificador de la conversación. El valor de este parámetro lo devolvió Initialize_Conversation o Accept_Conversation.
return_code
Código devuelto de esta llamada. Los códigos de retorno válidos se enumeran más adelante en este tema.
Códigos de retorno
CM_OK
Código de retorno principal; la llamada se ejecutó correctamente.
CM_PROGRAM_PARAMETER_CHECK
Código de retorno principal; el valor especificado por conversation_ID no es válido.
CM_PRODUCT_SPECIFIC_ERROR
Código de retorno principal; se produjo un error específico del producto y se ha registrado en el registro de errores de productos.
Cambios de estado
La conversación debe estar en cualquier estado excepto RESET.
Cuando se CM_OK el código de retorno, el estado de la conversación se convierte en RESET.
Comentarios
Cancel_Conversation se puede llamar mientras otra operación está activa para el conversation_ID especificado. Esto permite que una aplicación finalice cualquier acción CPI-C, pero finalizará la conversación. Esta llamada se puede emitir independientemente del modo de procesamiento de la aplicación actual. Las operaciones pendientes se devolverán con CM_DEALLOCATED_ABEND como código de retorno.
Una desasignación finaliza la conversación con deallocate_type establecido en ABEND_SVC. No se envía ningún log_data . Es posible que el sistema no pueda hacerlo inmediatamente, pero cualquier retraso es transparente para el programa.
Nota
Si se llama a Cancel_Conversation mientras hay llamadas Specify_Windows_Handle asincrónicas pendientes, estas llamadas se cancelan. Los códigos de retorno se establecen en cancelados y se publica un mensaje de finalización.