Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > [named pipe] Сетевое имя сервера


Автор: Alix36 9.5.2012, 00:37
При попытке подключиться по трубе на локальный хост (\\\\.\\pipe\\named_pipe) - все окей.
При попытке подключиться по сетевому имени(ip, имя компьютера) на клиенте появляется ошибка 123  - ERROR_INVALID_NAME The filename, directory name, or volume label syntax is incorrect.

Аттрибуты безопасности ставлю. (хотя ошибка то вроде не 3'я... так что врядли это связанно...)
Код

   SECURITY_DESCRIPTOR sd;
SECURITY_ATTRIBUTES sa;
::InitializeSecurityDescriptor(&sd,SECURITY_DESCRIPTOR_REVISION);
::SetSecurityDescriptorDacl(&sd,true,NULL,true);
sa.lpSecurityDescriptor=(VOID*)&sd;
sa.bInheritHandle=true;
sa.nLength=sizeof(sa);
                HANDLE handle_to_pipe = CreateNamedPipe(pipe_name,
                     PIPE_ACCESS_DUPLEX,
                    PIPE_TYPE_MESSAGE | PIPE_READMODE_MESSAGE | PIPE_WAIT,
                    PIPE_UNLIMITED_INSTANCES,
                     buf_size,
                    buf_size,
                    0,
                    &sa);

Автор: feodorv 9.5.2012, 01:48
Может, CreateFile? Создать же трубу на удалённом узле не удастся...

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