Freigeben über


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 endgültigen Status für den Prozess und die einzelnen 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 ProcessHandle--Parameter angibt, gibt ZwTerminateProcess- nicht zurück.

Bemerkungen

Um ein Prozesshandle abzurufen, das ein Treiber für den ProcessHandle Parameter angeben kann, kann der Treiber ZwOpenProcessaufrufen. Das Handle muss ein Kernelhandlesein, ein Handle, auf das nur im Kernelmodus zugegriffen werden kann. Ein Handle ist ein Kernelhandle, wenn es mit dem OBJ_KERNEL_HANDLE Flag 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 entspannt.

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, wie sie Eingabeparameter behandeln und interpretieren. Weitere Informationen zur Beziehung zwischen den NtXxx und ZwXxx- Versionen einer Routine finden Sie unter Using Nt and Zw Versions of the Native System Services Routines.

Anforderungen

Anforderung Wert
Zielplattform- Universal
Header- ntddk.h (include Ntddk.h)
Library NtosKrnl.lib
DLL- NtosKrnl.exe
IRQL- PASSIVE_LEVEL
DDI-Complianceregeln HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Siehe auch

Verwenden von Nt- und Zw-Versionen der systemeigenen Systemdienste-Routinen

ZwOpenProcess