Compartir a través de


Función PsLookupThreadByThreadId (ntifs.h)

La rutina PsLookupThreadByThreadId acepta el identificador de subproceso de un subproceso y devuelve un puntero al que se hace referencia a la estructura ETHREAD del subproceso.

Sintaxis

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

Parámetros

[in] ThreadId

Especifica el identificador de subproceso del subproceso.

[out] Thread

Devuelve un puntero al que se hace referencia a la estructura ETHREAD del subproceso especificado por threadId.

Valor devuelto

PsLookupThreadByThreadId devuelve STATUS_SUCCESS correctamente o un valor NTSTATUS adecuado, como:

Código devuelto Descripción
STATUS_INVALID_PARAMETER
No se encontró el identificador del subproceso.

Comentarios

Esta rutina está disponible en Windows 2000 y versiones posteriores.

Si la llamada a PsLookupThreadByThreadId se realiza correctamente, PsLookupThreadByThreadId aumenta el recuento de referencias del objeto devuelto en el parámetro Thread . Por lo tanto, cuando un controlador se haya completado con el parámetro Thread , el controlador debe llamar a ObDereferenceObject para desreferenciar el parámetro Thread recibido de la rutina PsLookupThreadByThreadId .

La estructura ETHREAD es una estructura de datos opaca utilizada internamente por el sistema operativo. Esta estructura se puede pasar a otras rutinas para acceder a información específica de esta estructura.

Un controlador de filtro del sistema de archivos puede enumerar subprocesos activos llamando a PsLookupThreadByThreadId para convertir un identificador de subproceso en una estructura ETHREAD. El identificador de subproceso está disponible en la rutina de creación de subprocesos. Un controlador de filtro del sistema de archivos puede establecer una rutina de devolución de llamada de notificación de subproceso mediante PsSetCreateThreadNotifyRoutine. En la rutina de devolución de llamada de notificación, el controlador de filtro del sistema de archivos puede usar el parámetro ThreadId pasado y llamar a PsLookupThreadByThreadId para localizar la estructura ETHREAD.

La rutina PsLookupThreadByThreadId contiene código paginable.

Requisitos

Requisito Value
Plataforma de destino Universal
Encabezado ntifs.h (incluya Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

ObDereferenceObject

PsGetCurrentProcess

PsGetCurrentProcessId

PsGetCurrentThread

PsGetCurrentThreadId

PsLookupProcessByProcessId

PsRemoveCreateThreadNotifyRoutine

PsRemoveLoadImageNotifyRoutine

PsSetCreateThreadNotifyRoutine

PsSetLoadImageNotifyRoutine