Поделиться через


Функция TerminateJobObject (jobapi2.h)

Завершает все процессы, связанные с заданием. Если задание вложено, эта функция завершает все процессы, связанные в данный момент с заданием, и все его дочерние задания в иерархии.

Синтаксис

BOOL TerminateJobObject(
  [in] HANDLE hJob,
  [in] UINT   uExitCode
);

Параметры

[in] hJob

Дескриптор задания, процессы которого будут завершены. Функция CreateJobObject или OpenJobObject возвращает этот дескриптор. Этот дескриптор должен иметь право доступа JOB_OBJECT_TERMINATE. Дополнительные сведения см. в разделе Безопасность объекта задания и права доступа.

Дескриптор для каждого процесса в объекте задания должен иметь право доступа PROCESS_TERMINATE. Дополнительные сведения см. в разделе Обработка прав на безопасность и доступ.

[in] uExitCode

Код выхода, используемый всеми процессами и потоками в объекте задания. Используйте функцию GetExitCodeProcess , чтобы получить значение выхода каждого процесса. Используйте функцию GetExitCodeThread , чтобы получить значение выхода каждого потока.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Ни один из процессов, связанных с заданием, не может отложить или обработать завершение. Это похоже на вызов TerminateProcess для каждого процесса, связанного с заданием.

Завершение вложенного задания дополнительно завершает все дочерние объекты задания. Ресурсы, используемые завершенными заданиями, оплачиваются по родительской цепочке заданий в иерархии.

Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0500 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header jobapi2.h (включая Windows.h, Jobapi2.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

CreateJobObject

Объекты заданий

OpenJobObject

Функции процессов и потоков

TerminateProcess