Что означает код ошибки Windows 232 (ERROR_NO_DATA)?

 
Также может означать:
КонстантаТипОС
INVALID_CANCEL_OF_FILE_OPENКод BSODWindows
Предыдущий Следующий
ERROR_PIPE_BUSY ERROR_PIPE_NOT_CONNECTED

ERROR_NO_DATA

ERROR_NO_DATA является результатом состояния именованного канала, смысл которого зависит от вызова API и режима канала. Часто он означает, что операция сейчас не может продолжаться, поскольку отсутствуют доступные данные или подключённый клиент.

Чтение из неблокирующего канала

Для именованного канала в неблокирующем режиме ожидания ReadFile может вернуть ERROR_NO_DATA когда буфер канала пуст. Это не обязательно означает сбой соединения; это значит, что блокирующему чтению пришлось бы ждать другого писателя.

Случай жизненного цикла соединения

ConnectNamedPipe также может вернуть этот код, когда предыдущий клиент закрыл свой дескриптор, а сервер ещё не вызвал DisconnectNamedPipe. В этом случае сервер должен завершить жизненный цикл прежнего соединения, прежде чем повторно использовать экземпляр канала для нового клиента.

Не используйте PIPE_NOWAIT как цикл обработки событий

Постоянный опрос неблокирующего именованного канала расходует CPU и может скрывать ошибки состояния соединения. Для асинхронных серверов используйте перекрывающийся ввод-вывод и уведомления о завершении, а не воспринимайте ERROR_NO_DATA как повод для активного цикла повторов.

См. документацию Microsoft по тип, режим чтения и режим ожидания именованного канала и ConnectNamedPipe.


Нужно найти другой код? Найти другой код состояния или ошибки.