Erreurs de communication
Dans d’autres cas, une opération de lecture ou d’écriture peut être effectuée avec un nombre de caractères inférieur au nombre demandé, même si aucun délai d’attente n’a été dépassé. En voici quelques exemples :
- Certains pilotes prennent en charge l’utilisation de caractères spéciaux, qui effectuent immédiatement une opération de lecture avec uniquement les caractères qui ont été lus jusqu’au moment où ils sont reçus.
- La fonction PurgeComm peut être appelée pour terminer prématurément les opérations de lecture ou d’écriture en attente. Cette fonction peut également supprimer le contenu des mémoires tampons de sortie ou d’entrée, ou les deux.
- Si une erreur de communication se produit pendant une opération de lecture ou d’écriture, toutes les opérations d’e/s sur la ressource de communication sont arrêtées. Les conditions d’arrêt, les erreurs de parité ou les erreurs de trame sont des exemples de telles erreurs. Lorsqu’une erreur se produit, le processus doit appeler la fonction ClearCommError pour effacer l’indicateur d’erreur avant de pouvoir commencer des opérations d’e/s supplémentaires. ClearCommError signale l’erreur spécifique qui s’est produite et l’état actuel de l’appareil.