Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Ошибка 535


Автор: NiJazz 26.5.2005, 14:48
Привет!
Что означает ошибка:
Цитата
С другой стороны канала присутствует процесс.

Вот последовательность вызовов:
CreateNamedPipe
ConnectNamedPipe - после этого вылетает ошибка

Автор: Alastis 26.5.2005, 18:24
535 - ERROR_PIPE_CONNECTED может быть в случае, когда клиент уже подключен
вот из справки MSDN о ConnectNamedPipe:
Цитата
Return Values
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
If a client connects before the function is called, the function returns zero and GetLastError returns ERROR_PIPE_CONNECTED. This can happen if a client connects in the interval between the call to CreateNamedPipe and the call to ConnectNamedPipe. In this situation, there is a good connection between client and server, even though the function returns zero

Автор: FreakMurderer 10.9.2015, 15:31
Цитата

Если же подключение клиента происходит в течение промежутка времени между вызовами сервером функций CreateNamedPipe и ConnectNamed-Pipe, то возвращаемым значением будет FALSE. В этом случае функция GetLastError вернет значение ERROR_PIPE_CONNECTED.

Как тогда это хендлить ? Как убдедиться что клиент подключился успешно ? 

Автор: feodorv 10.9.2015, 15:49
Цитата(FreakMurderer @  10.9.2015,  15:31 Найти цитируемый пост)
Как убдедиться что клиент подключился успешно ?  

Так ведь:
Цитата
In this situation, there is a good connection between client and server, even though the function returns zero
Народ так и пишет:
Код

BOOL fConnected = ConnectNamedPipe(hPipe, NULL) ? 
         TRUE : (GetLastError() == ERROR_PIPE_CONNECTED); 

if (fConnected) 
{
    // ... 
}

Автор: FreakMurderer 10.9.2015, 15:52
Thank you very much smile За пример 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)