Составители:
Рубрика:
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
- …
- следующая ›
- последняя »
