| Предыдущий | Следующий |
| ERROR_DRIVE_LOCKED | ERROR_OPEN_FAILED |
ERROR_BROKEN_PIPE
ERROR_BROKEN_PIPE означает, что записывающий конец канала закрыт и читатель достиг конца канала. Это условие конца потока, а не временное состояние «данных нет».
Типичная ситуация
Для анонимного канала ReadFile возвращает этот код после закрытия всех дескрипторов записи, когда дальнейшее чтение невозможно. Приложения именованных каналов могут встретить то же состояние после завершения соединения другой стороной.
Как обработать
Прекратите чтение из этого соединения, завершите состояние протокола, если уже получено полное сообщение, и закройте или отключите дескриптор канала. Повтор на том же завершённом соединении не восстановит его; новое соединение требует нового экземпляра канала или заново открытого клиентского дескриптора.
Что исследовать
- Завершилась ли удалённая сторона, аварийно остановилась или намеренно закрыла канал.
- Закрывает ли логика завершения дескриптор канала, пока другой поток ещё читает.
- Позволяет ли framing протокола отличить штатный конец потока от усечённого сообщения.
См. документацию Microsoft по ReadFile.
Нужно найти другой код? Найти другой код состояния или ошибки.
