ВУЗ:
Составители:
48
2. Написать программу «Приѐмник данных» со следующими функциями:
– опрос по таймеру файла, на наличие в нѐм сообщений;
– приѐм и обработка сообщения WM_COPYDATA от «Источника данных».
Контрольные вопросы:
1. Каковы параметры функции CreateProcess?
2. Каковы режимы чтения и записи файлов?
3. Какой формат сообщения WM_COPYDATA?
4. Как осуществляется приѐм и обработка сообщения WM_COPYDATA?
Для самостоятельного изучения:
1. Другие способы сообщения между независимыми процессами.
4.7 Управление потоками и работа с файлами средствами Win32API
Для создания дополнительных потоков в программе используется функция:
Функция CreateThread
HANDLE CreateThread
(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // дескриптор защиты
SIZE_T dwStackSize, // начальный размер стека
LPTHREAD_START_ROUTINE lpStartAddress, // функция потока
LPVOID lpParameter, // параметр потока
DWORD dwCreationFlags, // опции создания
LPDWORD lpThreadId // идентификатор потока
);
Функция CreateThread создает поток, который выполняется в пределах
виртуального адресного пространства вызывающего процесса. Чтобы создавать
поток, который запускается в виртуальном адресном пространстве другого
процесса, используется функция CreateRemoteThread.
Параметры:
lpThreadAttributes – указатель на структуру SECURITY_ATTRIBUTES, которая
обуславливает, может ли возвращенный дескриптор быть унаследован дочерними
процессами. Если lpThreadAttributes является значением NULL, дескриптор не
может быть унаследован.
dwStackSize – начальный размер стека, в байтах. Система округляет это значение до
самой близкой страницы памяти. Если это значение нулевое, новый поток
использует по умолчанию размер стека исполняемой программы.
lpStartAddress – указатель на определяемую программой функцию типа
LPTHREAD_START_ROUTINE, код которой исполняется потоком и обозначает
начальный адрес потока. Для получения дополнительной информации о функции
потока, см. ThreadProc.
lpParameter – указатель на переменную, которая передается в поток.
2. Написать программу «Приѐмник данных» со следующими функциями:
– опрос по таймеру файла, на наличие в нѐм сообщений;
– приѐм и обработка сообщения WM_COPYDATA от «Источника данных».
Контрольные вопросы:
1. Каковы параметры функции CreateProcess?
2. Каковы режимы чтения и записи файлов?
3. Какой формат сообщения WM_COPYDATA?
4. Как осуществляется приѐм и обработка сообщения WM_COPYDATA?
Для самостоятельного изучения:
1. Другие способы сообщения между независимыми процессами.
4.7 Управление потоками и работа с файлами средствами Win32API
Для создания дополнительных потоков в программе используется функция:
Функция CreateThread
HANDLE CreateThread
(
LPSECURITY_ATTRIBUTES lpThreadAttributes, // дескриптор защиты
SIZE_T dwStackSize, // начальный размер стека
LPTHREAD_START_ROUTINE lpStartAddress, // функция потока
LPVOID lpParameter, // параметр потока
DWORD dwCreationFlags, // опции создания
LPDWORD lpThreadId // идентификатор потока
);
Функция CreateThread создает поток, который выполняется в пределах
виртуального адресного пространства вызывающего процесса. Чтобы создавать
поток, который запускается в виртуальном адресном пространстве другого
процесса, используется функция CreateRemoteThread.
Параметры:
lpThreadAttributes – указатель на структуру SECURITY_ATTRIBUTES, которая
обуславливает, может ли возвращенный дескриптор быть унаследован дочерними
процессами. Если lpThreadAttributes является значением NULL, дескриптор не
может быть унаследован.
dwStackSize – начальный размер стека, в байтах. Система округляет это значение до
самой близкой страницы памяти. Если это значение нулевое, новый поток
использует по умолчанию размер стека исполняемой программы.
lpStartAddress – указатель на определяемую программой функцию типа
LPTHREAD_START_ROUTINE, код которой исполняется потоком и обозначает
начальный адрес потока. Для получения дополнительной информации о функции
потока, см. ThreadProc.
lpParameter – указатель на переменную, которая передается в поток.
48
Страницы
- « первая
- ‹ предыдущая
- …
- 46
- 47
- 48
- 49
- 50
- …
- следующая ›
- последняя »
