Funzione PsLookupThreadByThreadId (ntifs.h)

La routine PsLookupThreadByThreadId accetta l'ID thread di un thread e restituisce un puntatore a cui si fa riferimento alla struttura ETHREAD del thread.

Sintassi

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

Parametri

[in] ThreadId

Specifica l'ID thread del thread.

[out] Thread

Restituisce un puntatore a cui si fa riferimento alla struttura ETHREAD del thread specificato da ThreadId.

Valore restituito

PsLookupThreadByThreadId restituisce STATUS_SUCCESS in caso di esito positivo o di un valore NTSTATUS appropriato, ad esempio:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER
L'ID del thread non è stato trovato.

Commenti

Questa routine è disponibile in Windows 2000 e versioni successive.

Se la chiamata a PsLookupThreadByThreadId ha esito positivo, PsLookupThreadByThreadId aumenta il conteggio dei riferimenti sull'oggetto restituito nel parametro Thread . Di conseguenza, quando un driver è stato completato usando il parametro Thread , il driver deve chiamare ObDereferenceObject per dereferenziare il parametro Thread ricevuto dalla routine PsLookupThreadByThreadId .

La struttura ETHREAD è una struttura di dati opaca utilizzata internamente dal sistema operativo. Questa struttura può essere passata ad altre routine per accedere a informazioni specifiche in questa struttura.

Un driver di filtro del file system può enumerare i thread attivi chiamando PsLookupThreadByThreadId per convertire un ID thread in una struttura ETHREAD. L'ID del thread è disponibile nella routine di creazione del thread. Un driver di filtro del file system può impostare una routine di callback di notifica del thread usando PsSetCreateThreadNotifyRoutine. Nella routine di callback di notifica il driver di filtro del file system può usare il parametro ThreadId passato e chiamare PsLookupThreadByThreadId per individuare la struttura ETHREAD.

La routine PsLookupThreadByThreadId contiene codice di paging.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione ntifs.h (include Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Vedi anche

ObDereferenceObject

PsGetCurrentProcess

PsGetCurrentProcessId

PsGetCurrentThread

PsGetCurrentThreadId

PsLookupProcessByProcessId

PsRemoveCreateThreadNotifyRoutine

PsRemoveLoadImageNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine