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 à terminer.
[in] ExitStatus
Valeur NTSTATUS que le système d’exploitation utilise comme status finale pour le processus et chacun de ses threads.
Valeur retournée
ZwTerminateProcess retourne STATUS_SUCCESS si l’opération réussit. Les valeurs de retour supplémentaires sont les suivantes :
Code de retour | 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éroule 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 provenant de pilotes en mode noyau, les versions NtXxx et ZwXxx d’une routine Windows Native System Services peuvent se comporter différemment dans 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.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | ntddk.h (incluez Ntddk.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm) |
Voir aussi
Utilisation des versions Nt et Zw des routines des services système natifs