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

   Сайт производителей ивановского трикотажа смотри здесь. |     

Запись данных в канал


Запись данных в открытый канал выполняется с помощью функции WriteFile, аналогично записи в обычный файл:

HANDLE hNamedPipe;

DWORD  cbWritten;

char   szBuf[256];

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

  &cbWritten, NULL);

Через первый параметр функции WriteFile передается идентификатор реализации канала. Через второй параметр передается адрес буфера, данные из которого будут записаны в канал. Размер этого буфера указывается при помощи третьего параметра. Предпоследний параметр используется для определения количества байт данных, действительно записанных в канал. И, наконец, последний параметр задан как NULL, поэтому запись будет выполняться в синхронном режиме.

Учтите, что если канал был создан для работы в блокирующем режиме, и функция WriteFile работает синхронно (без использования вывода с перекрытием), то эта функция не вернет управление до тех пор, пока данные не будут записаны в канал.



Содержание раздела