Cancel_Conversation (CPI-C)
L’appel Cancel_Conversation (nom de la fonction cmcanc) annule toute opération en attente sur une conversation (opération retournée avec CM_OPERATION_INCOMPLETE) et la conversation elle-même.
Syntaxe
CM_ENTRY Cancel_Conversation(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *return_code
);
Paramètres
conversation_ID
Paramètre retourné. Spécifie l’identificateur de la conversation. La valeur de ce paramètre a été retournée par Initialize_Conversation ou Accept_Conversation.
return_code
Code retourné par cet appel. Les codes de retour valides sont répertoriés plus loin dans cette rubrique.
Codes de retour
CM_OK
Code de retour principal ; l’appel a été exécuté avec succès.
CM_PROGRAM_PARAMETER_CHECK
Code de retour principal ; la valeur spécifiée par conversation_ID n’est pas valide.
CM_PRODUCT_SPECIFIC_ERROR
Code de retour principal ; une erreur spécifique au produit s’est produite et a été enregistrée dans le journal des erreurs des produits.
Changements d'état
La conversation doit être dans n’importe quel état à l’exception de RESET.
Lorsque le code de retour est CM_OK, l’état de la conversation devient RESET.
Remarques
Cancel_Conversation peut être appelée pendant qu’une autre opération est active pour le conversation_ID spécifié. Cela permet à une application de mettre fin à toute action CPI-C, mais met fin à la conversation. Cet appel peut être émis quel que soit le mode de traitement de l’application actuel. Toutes les opérations en attente retournent avec CM_DEALLOCATED_ABEND comme code de retour.
La conversation est terminée par un désallouer avec deallocate_type défini sur ABEND_SVC. Aucune log_data n’est envoyée. Le système peut ne pas être en mesure de le faire immédiatement, mais tout délai est transparent pour le programme.
Notes
Si Cancel_Conversation est appelé alors qu’il existe des appels asynchrones Specify_Windows_Handle en attente, ces appels sont annulés. Les codes de retour sont définis sur annulés et un message d’achèvement est publié.