Составители:
Рубрика:
ZeroMemory( &si, sizeof(si));
si.cb = sizeof( si );
printf( "Press any key to start WinWord -- " );
getch();
CreateProcess(NULL, "WinWord", NULL, NULL, FALSE, 0,
NULL, NULL, &si, &pi);
return 0;
}…
Функция CreateThread() – создает новый поток в адресном пространстве
процесса. Формат функции:
HANDLE CreateThread
(LPSECURITY_ATTRIBUTES lpThreadAttributes,
// атрибуты защиты потока
DWORD dwStackSize, // размер стека в байтах
LPTHREAD_START_ROUTINE lpStartAddress,
//указатель на функцию потока
LPVOID lpParameter, // аргумент, передаваемый в функцию потока
BDWORD dwCreationFlags, // флаги управления созданием потока
LPDWORD lpThreadId,
// область памяти для возвращения идентификатора потока);…
Функция возвращает описатель порожденного потока. Параметры:
lpThreadAttributes – указатель на структуру, описывающую параметры
защиты потока; если параметру присвоено значение NULL, то устанавливают-
ся атрибуты «по умолчанию»;
dwStackSize – устанавливает размер стека, который отводится потоку; ес-
ли параметр равен нулю, то устанавливается стек, равный стеку первичного
потока;
lpStartAddress – адрес функции, которую будет исполнять поток; функция
имеет один 32-битный аргумент и возвращает 32-битное значение;
lpParameter – параметр, передаваемый в функцию, которую будет испол-
нять поток;
dwCreationFlags – дополнительный флаг, который управляет созданием
потока; если этот параметр равен CREATE_SUSPENDED, то поток после по-
рождения не запускается на исполнение до вызова функции ResumeThread;
lpThreadId – указатель на 32-битную переменную, которой будет при-
своено значение уникального идентификатора потока.
Рассмотрим пример на использование данной функции:
// программа, порождающая поток
#include < stdio.h >
#include < conio.h >
#include < windows.h >
DWORD WINAPI Output(LPVOID Param)
{
22
ZeroMemory( &si, sizeof(si)); si.cb = sizeof( si ); printf( "Press any key to start WinWord -- " ); getch(); CreateProcess(NULL, "WinWord", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); return 0; }… Функция CreateThread() – создает новый поток в адресном пространстве процесса. Формат функции: HANDLE CreateThread (LPSECURITY_ATTRIBUTES lpThreadAttributes, // атрибуты защиты потока DWORD dwStackSize, // размер стека в байтах LPTHREAD_START_ROUTINE lpStartAddress, //указатель на функцию потока LPVOID lpParameter, // аргумент, передаваемый в функцию потока BDWORD dwCreationFlags, // флаги управления созданием потока LPDWORD lpThreadId, // область памяти для возвращения идентификатора потока);… Функция возвращает описатель порожденного потока. Параметры: lpThreadAttributes – указатель на структуру, описывающую параметры защиты потока; если параметру присвоено значение NULL, то устанавливают- ся атрибуты «по умолчанию»; dwStackSize – устанавливает размер стека, который отводится потоку; ес- ли параметр равен нулю, то устанавливается стек, равный стеку первичного потока; lpStartAddress – адрес функции, которую будет исполнять поток; функция имеет один 32-битный аргумент и возвращает 32-битное значение; lpParameter – параметр, передаваемый в функцию, которую будет испол- нять поток; dwCreationFlags – дополнительный флаг, который управляет созданием потока; если этот параметр равен CREATE_SUSPENDED, то поток после по- рождения не запускается на исполнение до вызова функции ResumeThread; lpThreadId – указатель на 32-битную переменную, которой будет при- своено значение уникального идентификатора потока. Рассмотрим пример на использование данной функции: // программа, порождающая поток #include < stdio.h > #include < conio.h > #include < windows.h > DWORD WINAPI Output(LPVOID Param) { 22
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »