ZwTerminateProcess-Funktion (ntddk.h)
Die ZwTerminateProcess-Routine beendet einen Prozess und alle zugehörigen Threads.
Syntax
NTSYSAPI NTSTATUS ZwTerminateProcess(
[in, optional] HANDLE ProcessHandle,
[in] NTSTATUS ExitStatus
);
Parameter
[in, optional] ProcessHandle
Ein Handle für das Prozessobjekt, das den zu beendenden Prozess darstellt.
[in] ExitStatus
Ein NTSTATUS-Wert, den das Betriebssystem als letzte status für den Prozess und jeden seiner Threads verwendet.
Rückgabewert
ZwTerminateProcess gibt STATUS_SUCCESS zurück, wenn der Vorgang erfolgreich ist. Weitere Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
STATUS_OBJECT_TYPE_MISMATCH | Das angegebene Handle ist kein Prozesshandle. |
STATUS_INVALID_HANDLE | Der angegebene Handle ist ungültig. |
STATUS_ACCESS_DENIED | Der Treiber kann nicht auf das angegebene Prozessobjekt zugreifen. |
STATUS_PROCESS_IS_TERMINATING | Der angegebene Prozess wird bereits beendet. |
Wenn der Aufrufer den aktuellen Prozess im Parameter ProcessHandle angibt, wird ZwTerminateProcess nicht zurückgegeben.
Hinweise
Um ein Prozesshandle abzurufen, das ein Treiber für den ProcessHandle-Parameter angeben kann, kann der Treiber ZwOpenProcess aufrufen. Das Handle muss ein Kernelhandle sein, ein Handle, auf das nur im Kernelmodus zugegriffen werden kann. Ein Handle ist ein Kernelhandle, wenn es mit dem flag OBJ_KERNEL_HANDLE erstellt wird. Weitere Informationen finden Sie unter InitializeObjectAttributes.
Treiber dürfen den aktuellen Prozess nicht angeben, wenn Ressourcen nicht aus dem Kernelstapel freigegeben wurden, da das Betriebssystem den Kernelstapel für den aufrufenden Thread nicht entlädt.
Wenn der Aufruf dieser Funktion im Benutzermodus erfolgt, sollten Sie den Namen "NtTerminateProcess" anstelle von "ZwTerminateProcess" verwenden.
Bei Aufrufen von Kernelmodustreibern können sich die NtXxx - und ZwXxx-Versionen einer Windows Native System Services-Routine anders verhalten, da sie Eingabeparameter verarbeiten und interpretieren. Weitere Informationen zur Beziehung zwischen den Nt Xxx- und ZwXxx-Versionen einer Routine finden Sie unter Verwenden von Nt- und Zw-Versionen der Systemdienstroutinen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Universell |
Header | ntddk.h (include Ntddk.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |