Именованные каналы, вопрос сервера - PullRequest
0 голосов
/ 28 января 2011

Я зависаю на функции WaitNamedPipe, хотя я вызывал CreateNamedPipe прямо раньшеТак как функция waitnamepipe просто ожидает инициализации канала, почему?код ниже.спасибо

PROCESS_INFORMATION po;
STARTUPINFO
s;

GetStartupInfo (&s);

if(CreateProcess ("c:\s2.exe", NULL, NULL, NULL, false, 0, NULL,
                  NULL, &s, &po) == FALSE)
{
    printf("Error %d starting CC\n",
           GetLastError());
    exit(-1);

}

HANDLE pipe=CreateNamedPipe (pipe_name, 0x00000003,
                             FILE_FLAG_FIRST_PIPE_INSTANCE,
                             PIPE_UNLIMITED_INSTANCES,128, 128, 0,
                             NULL);

while(WaitNamedPipe(pipe_name, INFINITE)==FALSE) Sleep(300);

HANDLE CC = CreateFile (pipe_name, GENERIC_READ | GENERIC_WRITE, 0, NULL,
                        OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,
                        NULL);

bool fConnected = ConnectNamedPipe(pipe, NULL) ? TRUE :
                  (GetLastError() ==
                   ERROR_PIPE_CONNECTED);

if(fConnected) printf("true");
else printf("false");

1 Ответ

1 голос
/ 28 января 2011

"C:\s2.exe" не "C:\\s2.exe"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...