Программирование для Windows NT

Завершение процесса


Для завершения процесса используются функции ExitProcess и TerminateProcess. Первая из этих функций нужна в том случае, если процесс сам желает завершить свою работу. Именно эта функция вызывается библиотекой времени выполнения при возвращении управления функцией WinMain. Функция TerminateProcess используется родительским процессом для завершения своего дочернего процесса или любого другого процесса, идентификатор которого ей известен (и к которому имеется соотвтетствующий доступ).

Функция ExitProcess имеет один параметр - код завершения процесса:

VOID ExitProcess(UINT uExitCode);

Этот код после завершения работы процесса родительский процесс может определить при помощи функции GetExitCodeProcess.

Функции TerminateProcess необходимо передать два параметра - идентификатор завершаемого процесса и код завершения процесса:

BOOL TerminateProcess(

  HANDLE hProcess,   // идентификатор завершаемого процесса

  UINT   uExitCode); // код завершения процесса

Независимо от способа, при завершении процесса закрываются идентификаторы всех объектов, созданных задачами процесса, а все задачи процесса завершают свое выполнение.



Содержание раздела