ZwOpenProcess, fonction (ntddk.h)
La routine ZwOpenProcess ouvre un handle à un objet de processus et définit les droits d’accès à cet objet.
Syntaxe
NTSYSAPI NTSTATUS ZwOpenProcess(
[out] PHANDLE ProcessHandle,
[in] ACCESS_MASK DesiredAccess,
[in] POBJECT_ATTRIBUTES ObjectAttributes,
[in, optional] PCLIENT_ID ClientId
);
Paramètres
[out] ProcessHandle
Pointeur vers une variable de type HANDLE. La routine ZwOpenProcess écrit le handle de processus dans la variable vers laquelle ce paramètre pointe.
[in] DesiredAccess
Valeur ACCESS_MASK qui contient les droits d’accès demandés par l’appelant à l’objet de processus.
[in] ObjectAttributes
Pointeur vers une structure OBJECT_ATTRIBUTES qui spécifie les attributs à appliquer au handle d’objet de processus. Le champ ObjectName de cette structure doit être défini sur NULL. Pour plus d’informations, consultez la section Remarques suivante.
[in, optional] ClientId
Pointeur vers un ID client qui identifie le thread dont le processus doit être ouvert. Ce paramètre doit être un pointeurNULL non null vers un ID client valide. Pour plus d’informations, consultez la section Remarques suivante.
Valeur de retour
ZwOpenProcess retourne STATUS_SUCCESS si l’appel réussit. Les valeurs de retour possibles incluent les codes d’état d’erreur suivants.
Retourner le code | Description |
---|---|
STATUS_INVALID_PARAMETER_MIX | L’appelant a fourni un nom d’objet ou n’a pas pu fournir un ID client. |
STATUS_INVALID_CID | L’ID client spécifié n’est pas valide. |
STATUS_INVALID_PARAMETER | Les droits d’accès demandés ne sont pas valides pour un objet de processus. |
STATUS_ACCESS_DENIED | Les droits d’accès demandés ne peuvent pas être accordés. |
Remarques
Le paramètre ClientId doit pointer vers un ID client qui identifie le thread dont le processus doit être ouvert. En outre, le champ ObjectName de la structure pointée par ObjectAttributes doit être défini sur NULL.
Si l’appel à cette fonction se produit en mode utilisateur, vous devez utiliser le nom «NtOpenProcess» au lieu de «ZwOpenProcess».
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, Ntifs.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