Freigeben über


TerminateJobObject-Funktion (jobapi2.h)

Beendet alle Prozesse, die derzeit dem Auftrag zugeordnet sind. Wenn der Auftrag geschachtelt ist, beendet diese Funktion alle Prozesse, die dem Auftrag derzeit zugeordnet sind, sowie alle untergeordneten Aufträge in der Hierarchie.

Syntax

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

Parameter

[in] hJob

Ein Handle für den Auftrag, dessen Prozesse beendet werden. Die CreateJobObject- oder OpenJobObject-Funktion gibt dieses Handle zurück. Dieses Handle muss über das zugriffsrecht JOB_OBJECT_TERMINATE verfügen. Weitere Informationen finden Sie unter Auftragsobjektsicherheit und Zugriffsrechte.

Das Handle für jeden Prozess im Auftragsobjekt muss über das zugriffsrecht PROCESS_TERMINATE verfügen. Weitere Informationen finden Sie unter Prozesssicherheit und Zugriffsrechte.

[in] uExitCode

Der Exitcode, der von allen Prozessen und Threads im Auftragsobjekt verwendet werden soll. Verwenden Sie die GetExitCodeProcess-Funktion , um den Exitwert jedes Prozesses abzurufen. Verwenden Sie die GetExitCodeThread-Funktion , um den Exitwert jedes Threads abzurufen.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Es ist nicht möglich, dass einer der mit dem Auftrag verbundenen Prozesse die Beendigung aufschieben oder behandeln kann. Es ist so, als ob TerminateProcess für jeden Prozess aufgerufen würde, der dem Auftrag zugeordnet ist.

Durch das Beenden eines geschachtelten Auftrags werden zusätzlich alle untergeordneten Auftragsobjekte beendet. Ressourcen, die von den beendeten Aufträgen verwendet werden, werden in der übergeordneten Auftragskette in der Hierarchie in Rechnung gestellt.

Um eine Anwendung zu kompilieren, die diese Funktion verwendet, definieren Sie _WIN32_WINNT als 0x0500 oder höher. Weitere Informationen finden Sie unter Verwenden der Windows-Header.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile jobapi2.h (einschließlich Windows.h, Jobapi2.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

CreateJobObject

Auftragsobjekte

OpenJobObject

Prozess- und Threadfunktionen

TerminateProcess