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 sta già terminando.

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

Commenti

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 del 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 info, vedi 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 viene eseguita in modalità utente, è necessario usare il nome "NtTerminateProcess" anziché "ZwTerminateProcess".

Per le chiamate da driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Servizi di sistema nativi di Windows 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 .For more information about the Nt Xxx and Zw versions of the Native System Services Routines.

Requisiti

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)

Vedi anche

Uso delle versioni Nt e Zw delle routine native di Servizi di sistema

ZwOpenProcess