Partager via


PsLookupThreadByThreadId, fonction (ntifs.h)

La routine PsLookupThreadByThreadId accepte l’ID de thread d’un thread et retourne un pointeur référencé vers la structure ETHREAD du thread.

Syntaxe

NTSTATUS PsLookupThreadByThreadId(
  [in]  HANDLE   ThreadId,
  [out] PETHREAD *Thread
);

Paramètres

[in] ThreadId

Spécifie l’ID de thread du thread.

[out] Thread

Retourne un pointeur référencé vers la structure ETHREAD du thread spécifié par l'ThreadId.

Valeur de retour

PsLookupThreadByThreadId retourne STATUS_SUCCESS sur la réussite ou une valeur NTSTATUS appropriée, par exemple :

Retourner le code Description
STATUS_INVALID_PARAMETER
L’ID de thread est introuvable.

Remarques

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

Si l’appel à PsLookupThreadByThreadId réussit, PsLookupThreadByThreadId augmente le nombre de références sur l’objet retourné dans le paramètre Thread. Par conséquent, lorsqu’un pilote s’est terminé à l’aide du paramètre thread de, le pilote doit appeler ObDereferenceObject pour délimiter le paramètre Thread reçu de la routine PsLookupThreadByThreadId.

La structure ETHREAD 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 threads actifs en appelant PsLookupThreadByThreadId pour convertir un ID de thread en structure ETHREAD. L’ID de thread est disponible dans la routine de création de thread. Un pilote de filtre de système de fichiers peut définir une routine de rappel de notification de thread à l’aide de PsSetCreateThreadNotifyRoutine. Dans la routine de rappel de notification, le pilote de filtre du système de fichiers peut utiliser le paramètre de ThreadId transmis dans et appeler PsLookupThreadByThreadId pour localiser la structure ETHREAD.

La routine PsLookupThreadByThreadId contient du code paginable.

Exigences

Exigence Valeur
plateforme cible Universel
d’en-tête ntifs.h (include Ntifs.h)
bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Voir aussi

ObDereferenceObject

psGetCurrentProcess

PsGetCurrentProcessId

psGetCurrentThread

PsGetCurrentThreadId

PsLookupProcessByProcessId

PsRemoveCreateThreadNotifyRoutine

PsRemoveLoadImageNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine