Condividi tramite


Funzione ZwTerminateProcess (ntddk.h)

La routine ZwTerminateProcess termina un processo e tutti i relativi thread.

Sintassi

NTSYSAPI NTSTATUS ZwTerminateProcess(
  [in, optional] HANDLE   ProcessHandle,
  [in]           NTSTATUS ExitStatus
);

Parametri

[in, optional] ProcessHandle

Handle per l'oggetto processo che rappresenta il processo da terminare.

[in] ExitStatus

Valore NTSTATUS utilizzato dal sistema operativo come stato finale per il processo e per ognuno dei relativi thread.

Valore restituito

ZwTerminateProcess restituisce STATUS_SUCCESS se l'operazione ha esito positivo. I valori restituiti aggiuntivi includono:

Codice restituito Descrizione
STATUS_OBJECT_TYPE_MISMATCH L'handle specificato non è un handle di processo.
STATUS_INVALID_HANDLE L'handle specificato non è valido.
STATUS_ACCESS_DENIED Il driver non può accedere all'oggetto processo specificato.
STATUS_PROCESS_IS_TERMINATING Il processo specificato è già terminato.

Se il chiamante specifica il processo corrente nel parametro ProcessHandle, ZwTerminateProcess non restituisce.

Osservazioni

Per ottenere un handle di processo che un driver può specificare per il parametro ProcessHandle, il driver può chiamare ZwOpenProcess. L'handle deve essere un handle kernel , un handle accessibile solo in modalità kernel. Un handle è un handle del kernel se viene creato con il flag OBJ_KERNEL_HANDLE. Per altre informazioni, vedere InitializeObjectAttributes.

I driver non devono specificare il processo corrente se le risorse non sono state liberate dallo stack del kernel, perché il sistema operativo non rimuoverà lo stack del kernel per il thread chiamante.

Se la chiamata a questa funzione si verifica in modalità utente, è necessario usare il nome "NtTerminateProcess" anziché "ZwTerminateProcess".

Per le chiamate da driver in modalità kernel, le NtXxx e ZwXxx versioni di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Using Nt and Zw Versions of the Native System Services Routines.

Fabbisogno

Requisito Valore
piattaforma di destinazione Universale
intestazione ntddk.h (include Ntddk.h)
libreria NtosKrnl.lib
dll NtosKrnl.exe
IRQL PASSIVE_LEVEL
regole di conformità DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedere anche

uso di versioni Nt e Zw delle routine di Servizi di sistema nativi

ZwOpenProcess