none
ConnectNamedPipe не реагирует на подключение RRS feed

  • Общие обсуждения

  • Доброго всем дня. После вызова CreateNamedPipe с указанием асинхронного режима создаю событие, записываю его в Overlapped-структуру, ответвляюсь в новый поток и там вызываю WaitForSingleObject для ожидания подключения клиента. Но WaitForSingleObject не реагирует на подключение клиента.
    Сервер:

    OVERLAPPED ovlGlobal;
    HANDLE hPipeGlobal;
    
    unsigned long int __stdcall ConnectNamedPipeThreadProc(void *parameter){
     ovlGlobal.hEvent = CreateEvent(NULL,TRUE,FALSE,NULL);
     ConnectNamedPipe(hPipeGlobal,&ovlGlobal);
     WaitForSingleObject(ovlGlobal.hEvent,INFINITE);
     /* зедсь находится вызов ReadFileEx */
    }
    
    void CreateButtonClick(){
     wchar_t pipepath[600]=L"\\\\.\\pipe\\123123";
    
     hPipeGlobal = CreateNamedPipe(pipepath,
      PIPE_ACCESS_DUPLEX|FILE_FLAG_FIRST_PIPE_INSTANCE|FILE_FLAG_OVERLAPPED,
      PIPE_TYPE_MESSAGE|PIPE_NOWAIT,
      PIPE_UNLIMITED_INSTANCES,
      64*1024,
      64*1024,
      60*1000,
      NULL);
     CreateThread(NULL,0,ConnectNamedPipeThreadProc,NULL,0,NULL);
    }
    

    Клиент:

    void ConnectButtonClick(){
     wchar_t pipename[600]=L"\\\\.\\pipe\\123123";
    
     hPipeGlobal = CreateFile(pipepath,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL);
     /* здесь находится вызов ReadFileEx */
    }
    


    У всех системных вызовов смотрится возвращаемое значение, там ничего необычного.
    Как вы считаете, что здесь может быть не так? 

    ОС: Windows 7 HP, Visual Studio 2008.

    • Изменен тип I.Vorontsov 17 июня 2010 г. 9:16
    • Перемещено Tagore Bandlamudi 2 октября 2010 г. 21:30 MSDN Forums consolidation (От:Разработка Windows-приложений)
    9 июня 2010 г. 11:21

Все ответы

  • Уважаемый пользователь!

     

    В вашей теме отсутствует активность в течение последних 5 дней. При отсутствии каких-либо действий в течение 2 последующих дней, тема будет переведена в разряд обсуждений. Вы можете возобновить дискуссию, просто оставив сообщение в данной теме.


    Для связи [Mail]
    15 июня 2010 г. 10:50