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