Partager via


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

ACCESS_MASK

OBJECT_ATTRIBUTES

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