Flush (CPI-C)
L’appel Flush (nom de fonction cmflus) envoie le contenu de la mémoire tampon d’envoi de l’unité logique locale (LU) à l’unité lu partenaire (et au programme). Si la mémoire tampon d’envoi est vide, aucune action n’a lieu.
Syntaxe
CM_ENTRY Flush(
unsigned char FAR *conversation_ID,
CM_INT32 FAR *return_code
);
Paramètres
conversation_ID
Paramètre fourni. 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_OPERATION_NOT_ACCEPTED
Code de retour principal ; une opération précédente sur cette conversation est incomplète.
CM_OPERATION_INCOMPLETE
Code de retour principal ; l’opération n’est pas terminée (le mode de traitement n’est pas bloquant uniquement) et est toujours en cours. Le programme peut émettre des Wait_For_Conversation pour attendre la fin de l’opération, ou Cancel_Conversation d’annuler l’opération et la conversation. Si Specify_Windows_Handle a été appelé, l’application doit attendre la notification d’un message Microsoft® Windows® et ne pas appeler Wait_For_Conversation.
CM_PROGRAM_PARAMETER_CHECK
Code de retour principal ; la valeur spécifiée par conversation_ID n’est pas valide.
CM_PROGRAM_STATE_CHECK
Code de retour principal ; la conversation n’était pas à l’état SEND ou SEND_PENDING lorsque le programme a émis cet appel.
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 SEND ou SEND_PENDING.
Si l’appel se termine correctement (return_code est CM_OK), la conversation est à l’état SEND.
Les autres codes de retour n’entraînent aucun changement d’état.
Remarques
Les données traitées par Send_Data s’accumulent dans la mémoire tampon d’envoi locale jusqu’à ce que l’une des opérations suivantes se produise :
Le programme local émet l’appel De vidage ou un autre appel qui vide la mémoire tampon d’envoi des unités logiques. (Certains types d’envoi, définis par Set_Send_Type, incluent la fonctionnalité de vidage.)
La mémoire tampon est pleine.
La demande d’allocation générée par Allocation et les informations d’erreur générées par Send_Error sont également mises en mémoire tampon.