Сразу после запуска приложение проверяет
printf("cmd>");
// Вводим текстовую строку
gets(szBuf);
// Передаем введенную строку серверному процессу
// в качестве команды
if(!WriteFile(hMailslot, szBuf, strlen(szBuf) + 1,
&cbWritten, NULL))
break;
// В ответ на команду "exit" завершаем цикл
// обмена данными с серверным процессом
if(!strcmp(szBuf, "exit"))
break;
}
// Закрываем идентификатор канала
CloseHandle(hMailslot);
return 0;
}
Сразу после запуска приложение проверяет параметры. Если вы указали имя компьютера или домена,оно будет вставлено в строку, передаваемую функции CreateFile, открывающей канал Mailslot.
Канал открывается следующим образом:
hMailslot = CreateFile( szMailslotName, GENERIC_WRITE,
FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
В результате будет открыт канал, предназначенный для записи в синхронном режиме.
Ввод и передача текстовых строк через канал выполняется в цикле, не имеющем никаких особенностей. Для записи введенной строки в канал мы вызываем функцию WriteFile:
WriteFile(hMailslot, szBuf, strlen(szBuf) + 1,
&cbWritten, NULL);
Перед завершением своей работы приложение MSLOTC закрывает канал, вызывая для этого функцию CloseHandle.
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий