Site icon EfmSoft

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

 
Предыдущий Следующий
ERROR_ARITHMETIC_OVERFLOW ERROR_PIPE_LISTENING

ERROR_PIPE_CONNECTED

ERROR_PIPE_CONNECTED может означать успешное соединение для сервера именованного канала. Это особенно важно при обработке возвращаемого значения ConnectNamedPipe.

Состояние гонки, при котором соединение уже установлено

Клиент может подключиться после создания сервером экземпляра канала, но до вызова сервером ConnectNamedPipe. В таком случае ConnectNamedPipe возвращает FALSE и GetLastError() возвращает ERROR_PIPE_CONNECTED, хотя сервер и клиент соединены правильно.

Правильное поведение сервера

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

Распространённая ошибка

Закрытие дескриптора из-за того, что ConnectNamedPipe вернула FALSE , разрывает действительное клиентское соединение. Возвращаемое значение всегда нужно интерпретировать совместно с GetLastError().

См. документацию Microsoft по ConnectNamedPipe.


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

Exit mobile version