Partager via


ZwTerminateProcess, fonction (ntddk.h)

La routine ZwTerminateProcess met fin à un processus et à tous ses threads.

Syntaxe

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

Paramètres

[in, optional] ProcessHandle

Handle de l’objet de processus qui représente le processus à arrêter.

[in] ExitStatus

Valeur NTSTATUS utilisée par le système d’exploitation comme état final pour le processus et chacun de ses threads.

Valeur de retour

ZwTerminateProcess retourne STATUS_SUCCESS si l’opération réussit. Les valeurs de retour supplémentaires sont les suivantes :

Retourner le code Description
STATUS_OBJECT_TYPE_MISMATCH Le handle spécifié n’est pas un handle de processus.
STATUS_INVALID_HANDLE Le handle spécifié n’est pas valide.
STATUS_ACCESS_DENIED Le pilote ne peut pas accéder à l’objet de processus spécifié.
STATUS_PROCESS_IS_TERMINATING Le processus spécifié se termine déjà.

Si l’appelant spécifie le processus actuel dans le paramètre ProcessHandle, ZwTerminateProcess ne retourne pas.

Remarques

Pour obtenir un handle de processus qu’un pilote peut spécifier pour le paramètre ProcessHandle, le pilote peut appeler ZwOpenProcess. Le handle doit être un handle de noyau , un handle accessible uniquement en mode noyau. Un handle est un handle de noyau s’il est créé avec l’indicateur OBJ_KERNEL_HANDLE. Pour plus d’informations, consultez InitializeObjectAttributes.

Les pilotes ne doivent pas spécifier le processus actuel si les ressources n’ont pas été libérées de la pile du noyau, car le système d’exploitation ne déboira pas la pile du noyau pour le thread appelant.

Si l’appel à cette fonction se produit en mode utilisateur, vous devez utiliser le nom « NtTerminateProcess » au lieu de «ZwTerminateProcess».

Pour les appels à partir de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment de la façon dont elles gèrent et interprètent les paramètres d’entrée. Pour plus d’informations sur la relation entre les versions NtXxx et ZwXxx d’une routine, consultez Using Nt and Zw Versions of the Native System Services Routines.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ntddk.h (include Ntddk.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
règles de conformité DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Voir aussi

à l’aide de versions Nt et Zw des routines natives des services système

ZwOpenProcess