Программирование для Windows NT (том 2)


         

Выводим сообщение об успешном создании


        getch();

        CloseHandle(hNamedPipe);

        return 0;

      break;

      case ERROR_PIPE_CONNECTED:

        fprintf(stdout,

          "ConnectNamedPipe: ERROR_PIPE_CONNECTED");

        getch();

        CloseHandle(hNamedPipe);

        return 0;

      break;

      case ERROR_PIPE_LISTENING:

        fprintf(stdout,

          "ConnectNamedPipe: ERROR_PIPE_LISTENING");

        getch();

        CloseHandle(hNamedPipe);

        return 0;

      break;

      case ERROR_CALL_NOT_IMPLEMENTED:

        fprintf(stdout,

           "ConnectNamedPipe: ERROR_CALL_NOT_IMPLEMENTED");

        getch();

        CloseHandle(hNamedPipe);

        return 0;

      break;

      default:

        fprintf(stdout,"ConnectNamedPipe: Error %ld\n",

          GetLastError());

        getch();

        CloseHandle(hNamedPipe);

        return 0;

      break;

    }

    CloseHandle(hNamedPipe);

    getch();

    return 0;

  }

  // Выводим сообщение об успешном создании канала

  fprintf(stdout,"\nConnected. Waiting for command...\n");

  // Цикл получения команд через канал

  while(1)

  {

    // Получаем очередную команду через канал Pipe

    if(ReadFile(hNamedPipe, szBuf, 512, &cbRead, NULL))

    {

      // Посылаем эту команду обратно клиентскому

      // приложению

      if(!WriteFile(hNamedPipe, szBuf, strlen(szBuf) + 1,

        &cbWritten, NULL))

        break;

      // Выводим принятую команду на консоль

      printf("Received: <%s>\n", szBuf);

     

      // Если пришла команда "exit",

      // завершаем работу приложения

      if(!strcmp(szBuf, "exit"))

        break;

    }

    else

    {

      fprintf(stdout,"ReadFile: Error %ld\n",

        GetLastError());

      getch();

      break;

    }

  }

  CloseHandle(hNamedPipe);

  return 0;

}


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий