Partager via


Fonction PsLookupProcessByProcessId (ntifs.h)

La routine PsLookupProcessByProcessId accepte l’ID de processus d’un processus et retourne un pointeur référencé vers la structure EPROCESS du processus.

Syntaxe

NTSTATUS PsLookupProcessByProcessId(
  [in]  HANDLE    ProcessId,
  [out] PEPROCESS *Process
);

Paramètres

[in] ProcessId

Spécifie l’ID de processus du processus.

[out] Process

Retourne un pointeur référencé vers la structure EPROCESS du processus spécifiée par ProcessId.

Valeur retournée

PsLookupProcessByProcessId retourne STATUS_SUCCESS sur la réussite ou une valeur NTSTATUS appropriée, telle que :

Code de retour Description
STATUS_INVALID_PARAMETER
Spécifie dans Windows XP et les versions antérieures de Windows que l’ID de processus est introuvable.
STATUS_INVALID_CID

Spécifie dans Windows Vista et les versions ultérieures de Windows que l’ID client spécifié n’est pas valide.

Remarques

Cette routine est disponible sur Windows 2000 et versions ultérieures.

Si l’appel à PsLookupProcessByProcessId réussit, PsLookupProcessByProcessID augmente le nombre de références sur l’objet retourné dans le paramètre Process . Par conséquent, lorsqu’un pilote a terminé l’utilisation du paramètre Process , le pilote doit appeler ObDereferenceObject pour déréférencer le paramètre Process reçu de la routine PsLookupProcessByProcessID .

La structure EPROCESS est une structure de données opaque utilisée en interne par le système d’exploitation. Cette structure peut être transmise à d’autres routines pour accéder à des informations spécifiques dans cette structure.

Un pilote de filtre de système de fichiers peut énumérer les processus actifs, puis appeler PsLookupProcessByProcessId pour convertir un ID de processus en structure EPROCESS. L’ID de processus est disponible dans la routine de création de processus. Un pilote de filtre de système de fichiers peut définir une routine de rappel de notification de processus à l’aide de PsSetCreateProcessNotifyRoutine. Dans la routine de rappel de notification, le pilote de filtre du système de fichiers peut utiliser le paramètre ProcessId transmis dans et appeler PsLookupProcessByProcessID pour localiser la structure EPROCESS. PsSetCreateThreadNotifyRoutine peut également être utilisé pour définir une routine de notification qui retourne l’ID de processus lors de la création d’un ID de thread.

La routine PsLookupProcessByProcessId contient du code paginable.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête ntifs.h (inclure Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

ObDereferenceObject

PsGetCurrentProcess

PsGetCurrentProcessId

PsGetCurrentThread

PsGetCurrentThreadId

PsLookupThreadByThreadId

PsRemoveCreateThreadNotifyRoutine

PsRemoveLoadImageNotifyRoutine

PsSetCreateProcessNotifyRoutine

PsSetLoadImageNotifyRoutine