Site icon EfmSoft

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

 
Предыдущий Следующий
ERROR_PIPE_CONNECTED ERROR_VERIFIER_STOP

ERROR_PIPE_LISTENING

ERROR_PIPE_LISTENING сообщает, что экземпляр именованного канала ожидает подключения клиента. Он возвращается функцией ConnectNamedPipe , когда дескриптор использует неблокирующий режим ожидания и клиент не подключён.

Это не то же самое, что асинхронный ввод-вывод

Устаревший режим PIPE_NOWAIT заставляет некоторые вызовы именованных каналов немедленно возвращать управление вместо ожидания. Он не превращает эти вызовы в современные асинхронные операции. Microsoft описывает этот режим как средство совместимости и рекомендует перекрывающийся ввод-вывод для фоновой обработки.

Как обработать состояние

Для канала с неблокирующим ожиданием этот статус означает, что сервер должен продолжать ожидание клиента в соответствии со своей машиной состояний. Для масштабируемого асинхронного кода создайте канал с флагом FILE_FLAG_OVERLAPPED, передайте допустимую структуру OVERLAPPED в ConnectNamedPipeи обрабатывайте ERROR_IO_PENDING как обычное состояние выполняющейся операции.

Почему это различие важно

Если считать ERROR_PIPE_LISTENING признаком завершённого асинхронного подключения, сервер может остаться в неверном состоянии. Если считать его фатальной ошибкой, это может привести к ненужному пересозданию каналов и постоянному переподключению.

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


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

Exit mobile version