Compartir a través de


Función PsGetCurrentThreadTeb (ntddk.h)

La rutina PsGetCurrentThreadTeb devuelve el bloque de entorno de subprocesos (TEB) del subproceso actual o NULL. La llamada debe realizarse en modo kernel.

Sintaxis

PVOID PsGetCurrentThreadTeb();

Valor devuelto

Puntero al bloque de entorno de subproceso del subproceso actual. Se debe tener acceso a TEB dentro de un bloque de excepción try/catch.

PsGetCurrentThreadTeb devuelve NULL en los casos siguientes:

  • El subproceso actual no tiene un TEB (por ejemplo, un subproceso del sistema).
  • El subproceso actual no puede acceder de forma segura a su propio TEB. Esto puede ocurrir si el controlador adjuntó el subproceso al espacio de direcciones de otro proceso, por ejemplo llamando a KeStackAttachProcess.

Observaciones

Aunque psGetCurrentThreadTeb se puede llamar en cualquier IRQL sin causar una comprobación de errores, teB no es seguro acceder a DISPATCH_LEVEL o superior (se puede paginar). Además, si llama a IRQL con privilegios elevados desde el contexto de una interrupción o DPC, el subproceso actual es lo que se ha producido al ejecutarse en el procesador actual cuando se entregó la interrupción allí. Como resultado, se recomienda llamar a psGetCurrentThreadTeb desde el contexto del subproceso que aparece a continuación DISPATCH_LEVEL.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible en Windows 7 y versiones posteriores de Windows.
de la plataforma de destino de Universal
encabezado de ntddk.h
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL Cualquier nivel (vea comentarios)

Consulte también

rutinas de proceso y administrador de subprocesos de