Accept_Conversation (CPI-C)
L’appel Accept_Conversation (nom de fonction cmaccp) est émis par le programme appelé pour accepter la conversation entrante et définir certaines caractéristiques de conversation. Pour obtenir la liste des caractéristiques de la conversation initiale, consultez Caractéristiques de la conversation initiale.
Syntaxe
CM_ENTRY Accept_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. Il est utilisé par les appels CPI-C suivants et est retourné si le code de retour est CM_OK ou CM_OPERATION_INCOMPLETE. Si le code de retour est CM_OPERATION_INCOMPLETE, le paramètre conversation_ID peut être utilisé par l’application pour attendre ou annuler la 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_STATE_CHECK
Code de retour principal ; il n’y a pas de conversation entrante (mode bloquant uniquement) ou aucun nom de programme de transaction local (TP) n’a été configuré.
CM_OPERATION_INCOMPLETE
Code de retour principal ; une opération non bloquante a été démarrée sur la conversation, mais n’est pas terminée. Le programme peut émettre des Wait_For_Conversation pour attendre la fin de l’opération ou Cancel_Conversation pour annuler l’opération et la conversation.
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 à l’état RESET lorsque Accept_Conversation est émis.
Si l’appel réussit, la conversation passe à l’état RECEIVE. Si l’appel échoue, l’état reste inchangé.
Remarques
Une fois cet appel exécuté avec succès, CPI-C génère un identificateur de conversation de 8 octets. Cet identificateur est un paramètre obligatoire pour tous les autres appels CPI-C émis par le programme appelé sur cette conversation.
Les conversations entrantes sont acceptées en fonction du nom TP cible qu’ils spécifient, qui doit correspondre aux noms TP locaux qui ont été configurés. Les noms TP locaux peuvent être configurés par des méthodes dépendantes de l’implémentation ou par le programme appelant Specify_Local_TP_Name. De cette façon, un programme peut avoir plusieurs noms TP locaux. Le programme peut appeler Extract_TP_Name pour découvrir le nom spécifié sur la conversation entrante.
L’opération est effectuée en mode sans blocage si le programme a appelé Specify_Local_TP_Name précédemment ; sinon, elle est effectuée en mode bloquant.