Составители:
Окончание табл. 2.1
1 2
TlsFree Освобождает индекс TLS
TlsGetValue Возвращает данные, размещенные в TLS с указанным индексом
TlsSetValue Помещает данные в TLS с указанным индексом
WaitForInputIdle Ждет, пока не начнется ввод для указанного процесса
WinExec Выполняет указанное приложение
Подробное описание функций приведено в Win32 Programmer’s Reference. Далее
рассмотрим только некоторые основные функции [4].
Функция CreateProcess() - создает новый процесс и его первичный поток. Новый
процесс исполняет указанный исполняемый файл. Формат функции:
BOOL CreateProcess(LPCTSTR lpApplicationName, // имя исполняемого файла
LPTSTR lpCommandLine, // командная строка
LPSECURITY_ATTRIBUTES lpProcessAttributes, // атрибуты защиты процесса
LPSECURITY_ATTRIBUTES lpThreadAttributes, // атрибуты защиты потока
BOOL bInheritHandles, // флаг наследования описателей
DWORD dwCreationFlags, // флаги создания
LPVOID lpEnvironment, // указатель блока переменных среды
LPCTSTR lpCurrentDirectory, // текущий каталог
LPSTARTUPINFO lpStartupInfo, // блок начальных параметров
LPPROCESS_INFORMATION lpProcessInformation // указатель
// структуры, описывающей порожденный процесс
);
Функция возвращает TRUE в случае успеха и FALSE - в случае неудачи.
Параметры:
lpApplicationName - указатель на строку, содержащую имя исполняемой программы.
Имя может быть полное. Если оно не полное, то поиск файла производится в теку-
щем каталоге. Параметру может быть присвоено значение NULL. В этом случае в
качестве имени файла выступает первая выделенная пробелами лексема из строки
lpCommandLine;
lpCommandLine - указатель командной строки. Если параметр lpApplicationName имеет
значение NULL, то имя исполняемого файла выделяется из lpCommandLine, а по-
иск исполняемого файла производится в соответствии с правилами, действующими
в системе;
lpProcessAttributes - указатель на структуру, описывающую параметры защиты процесса.
Если параметру присвоено значение NULL, то устанавливаются атрибуты “по
умолчанию”;
lpThreadAttributes- указатель на структуру, описывающую параметры защиты первично-
го потока. Если параметру присвоено значение NULL, то устанавливаются атрибу-
ты “по умолчанию”;
bInheritHandles - определяет, будет ли порожденный процесс наследовать описатели
(handles) объектов родительского процесса. Например, если родительский процесс
AB, то он получил описатель процесса B и может им манипулировать. Если теперь
он порождает процесс C с параметром bInheritHandles равным TRUE, то и процесс
C сможет работать с описателем процесса B;
dwCreationFlags - определяет некоторые дополнительные условия создания процесса и
его класс приоритета;
lpEnvironment- указатель на блок переменных среды порожденного процесса. Если этот
параметр равен NULL, то порожденный процесс наследует среду родителя. Иначе
64
Окончание табл. 2.1
1 2
TlsFree Освобождает индекс TLS
TlsGetValue Возвращает данные, размещенные в TLS с указанным индексом
TlsSetValue Помещает данные в TLS с указанным индексом
WaitForInputIdle Ждет, пока не начнется ввод для указанного процесса
WinExec Выполняет указанное приложение
Подробное описание функций приведено в Win32 Programmer’s Reference. Далее
рассмотрим только некоторые основные функции [4].
Функция CreateProcess() - создает новый процесс и его первичный поток. Новый
процесс исполняет указанный исполняемый файл. Формат функции:
BOOL CreateProcess(LPCTSTR lpApplicationName, // имя исполняемого файла
LPTSTR lpCommandLine, // командная строка
LPSECURITY_ATTRIBUTES lpProcessAttributes, // атрибуты защиты процесса
LPSECURITY_ATTRIBUTES lpThreadAttributes, // атрибуты защиты потока
BOOL bInheritHandles, // флаг наследования описателей
DWORD dwCreationFlags, // флаги создания
LPVOID lpEnvironment, // указатель блока переменных среды
LPCTSTR lpCurrentDirectory, // текущий каталог
LPSTARTUPINFO lpStartupInfo, // блок начальных параметров
LPPROCESS_INFORMATION lpProcessInformation // указатель
// структуры, описывающей порожденный процесс
);
Функция возвращает TRUE в случае успеха и FALSE - в случае неудачи.
Параметры:
lpApplicationName - указатель на строку, содержащую имя исполняемой программы.
Имя может быть полное. Если оно не полное, то поиск файла производится в теку-
щем каталоге. Параметру может быть присвоено значение NULL. В этом случае в
качестве имени файла выступает первая выделенная пробелами лексема из строки
lpCommandLine;
lpCommandLine - указатель командной строки. Если параметр lpApplicationName имеет
значение NULL, то имя исполняемого файла выделяется из lpCommandLine, а по-
иск исполняемого файла производится в соответствии с правилами, действующими
в системе;
lpProcessAttributes - указатель на структуру, описывающую параметры защиты процесса.
Если параметру присвоено значение NULL, то устанавливаются атрибуты “по
умолчанию”;
lpThreadAttributes- указатель на структуру, описывающую параметры защиты первично-
го потока. Если параметру присвоено значение NULL, то устанавливаются атрибу-
ты “по умолчанию”;
bInheritHandles - определяет, будет ли порожденный процесс наследовать описатели
(handles) объектов родительского процесса. Например, если родительский процесс
AB, то он получил описатель процесса B и может им манипулировать. Если теперь
он порождает процесс C с параметром bInheritHandles равным TRUE, то и процесс
C сможет работать с описателем процесса B;
dwCreationFlags - определяет некоторые дополнительные условия создания процесса и
его класс приоритета;
lpEnvironment- указатель на блок переменных среды порожденного процесса. Если этот
параметр равен NULL, то порожденный процесс наследует среду родителя. Иначе
64
Страницы
- « первая
- ‹ предыдущая
- …
- 60
- 61
- 62
- 63
- 64
- …
- следующая ›
- последняя »
