Имеются и другие обстоятельства, где
операция чтения или записи могут
завершиться с числом меньшим, чем
затребованное число символов, даже при том,
что простой не происходил. Ниже следуют
некоторые примеры:
Некоторые драйверы
поддерживают использование специальных
символов, которые немедленно завершают операцию
чтения только символов, которые были
прочитаны до пункта, когда они были приняты.
Может быть вызвана
функция PurgeComm, чтобы преждевременно
завершить работу незаконченных операций
чтения или записи. Эта функция может
также удалить содержимое буферов вывода
или ввода данных, или обоих.
Если в ходе операция
чтения или записи происходит
коммуникационная ошибка, все операции
ввода-вывода (I/O) на коммуникационном
ресурсе завершают работу. Условия
прерывания, ошибки при проверке четности
или ошибки кадрирования при передаче
данных - примеры таких ошибок. Когда
происходит ошибка, процесс должен
вызвать функцию ClearCommError, чтобы
сбросить флажок ошибки прежде, чем могут
начаться дополнительные операции ввода-вывода
(I/O). ClearCommError сообщает о конкретной
ошибке, которая произошла и о текущем
состоянии устройства.