Читаем Системное программирование в среде Windows полностью

#define JM_EXIT_CODE 0x1000

typedef struct _JM_JOB {

 DWORD ProcessId;

 TCHAR CommandLine[MAX_PATH];

} JM_JOB;

#define SJM_JOB sizeof (JM_JOB)

/* Функции управления задачами. */

DWORD GetJobNumber(PROCESS_INFORMATION *, LPCTSTR);

BOOL DisplayJobs(void);

DWORD FindProcessId(DWORD);

BOOL GetJobMgtFileName(LPTSTR); 

ClntSrvr.hПрограмма А.5. Включаемый файл ClntSrvr.h 

/* Определения для программ, обеспечивающих клиент-серверное взаимодействие*/

/* Сообщения запроса и ответа. Сообщения имеют кодировку ASCII, поскольку запрос может поступать от системы Windows 95. */

#define MAX_RQRS_LEN 0x1000

typedef struct {

 DWORD32 RqLen; /* Размер структуры запроса, исключая размер этого поля. */

 CHAR Command;

 BYTE Record[MAX_RQRS_LEN];

} REQUEST;

typedef struct {

 DWORD32 RsLen; /* Размер структуры ответа, исключая размер этого поля*/

 CHAR Status;

 BYTE Record[MAX_RQRS_LEN];

} RESPONSE;

#define RQ_SIZE sizeof(REQUEST)

#define RQ_HEADER_LEN RQ_SIZE-MAX_RQRS_LEN

#define RS_SIZE sizeof(RESPONSE)

#define RS_HEADER_LEN RS_SIZE-MAX_RQRS_LEN

/* Структура почтового сообщения. */

typedef struct {

 DWORD msStatus; 

 DWORD msUtilization;

 TCHAR msName[MAX_PATH];

} MS_MESSAGE;

#define MSM_SIZE sizeof(MS_MESSAGE)

#define CS_TIMEOUT 5000 /* Интервал ожидания для взаимодействия через именованный канал и мониторинга производительности. */

#define MAXCLIENTS 10

#define MAX_SERVER_TH 4 /* Максимальное количество серверных потоков для программы serverNPCP.*/

#define MAX_CLIENTS_CP 16 /* Максимальное количество клиентов для программы serverNPCP.*/

/* Имена серверных и клиентских каналов и почтовых ящиков. */

#define SERVER_PIPE _Т("\\\\.\\PIPE\\SERVER")

#define CLIENT_PIPE _T("\\\\.\\PIPE\\SERVER")

#define SERVERBROADCAST _T("SrvrBcst.exe")

#define MS_SRVNAME _T("\\\\.\\MAILSLOT\\CLS_MAILSLOT")

#define MS_CLTNAME _T("\\\\.\\MAILSLOT\\CLS_MAILSLOT")

#define MX_NAME _T("ClientServerMutex")

#define SM_NAME _T("ClientServerSemaphore")

/* Команды для функции поддержки статистики. */

#define CS_INIT 1

#define CS_RQSTART 2

#define CS_RQCOMPLETE 3

#define CS_REPORT 4

#define CS_TERMTHD 5

/* Функции поддержки клиент-серверной системы. */

BOOL LocateServer(LPTSTR); 

Exclude.h

В программе А.6 определяются многочисленные переменные, позволяющие исключить определения, которые не требуются для примеров программ, приведенных в данной книге. Этот вопрос подробно обсуждается в [30].

Программа А.6. Включаемый файл Exclude.h

/* Exclude.h — Определения переменных для исключения ненужных заголовочных файлов. За дополнительными разъяснениями обратитесь в [30]. */

#define WIN32_LEAN_AND_MEAN

/* Весьма эффективная мера, уменьшающая размер предварительно скомпилированного заголовочного файла (pch) почти в два раза. */

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

В книге собраны и обобщены советы по решению различных проблем, которые рано или поздно возникают при эксплуатации как экономичных нетбуков, так и современных настольных моделей. Все приведенные рецепты опробованы на практике и разбиты по темам: аппаратные средства персональных компьютеров, компьютерные сети и подключение к Интернету, установка, настройка и ремонт ОС Windows, работа в Интернете, защита от вирусов. Рассмотрены не только готовые решения внезапно возникающих проблем, но и ответы на многие вопросы, которые возникают еще до покупки компьютера. Приведен необходимый минимум технических сведений, позволяющий принять осознанное решение.Компакт-диск прилагается только к печатному изданию книги.

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT