GetLastError возвращает ERROR_SUCCESS после вызова ConnectNamedPipe - PullRequest
1 голос
/ 12 февраля 2010

Когда я вызываю ConnectNamedPipe со структурой OVERLAPPED и впоследствии проверяю GetLastError, я часто вижу, как GetLastError возвращает ERROR_SUCCESS. То, как я читаю документацию , никогда не должно происходить. Насколько я понимаю, если клиент уже подключился, следует установить ERROR_PIPE_CONNECTED, а не ERROR_SUCCESS.

Кто-нибудь еще видел это? ОС 32-битная Windows 7.

Ответы [ 2 ]

0 голосов
/ 22 июня 2011

Попробуйте вызвать GetLastError () сразу после ConnectNamedPipe. Не вызывайте API между ними.

0 голосов
/ 12 февраля 2010

Это типично для ПЕРЕКРЫТИЯ. Он сообщает, все ли параметры в порядке перед подключением, предполагая асинхронный сокет. После завершения или сбоя соединения GetOverlappedResult() возвращает правильный статус. Так что, я думаю, это небольшая ошибка в документации.

...