Función NtQueryInformationThread (winternl.h)

[NtQueryInformationThread puede modificarse o no estar disponible en versiones futuras de Windows. Las aplicaciones deben usar las funciones alternativas enumeradas en este tema.

Recupera información sobre el subproceso especificado.

Sintaxis

__kernel_entry NTSTATUS NtQueryInformationThread(
  [in]            HANDLE          ThreadHandle,
  [in]            THREADINFOCLASS ThreadInformationClass,
  [in, out]       PVOID           ThreadInformation,
  [in]            ULONG           ThreadInformationLength,
  [out, optional] PULONG          ReturnLength
);

Parámetros

[in] ThreadHandle

Identificador del subproceso sobre qué información se solicita.

[in] ThreadInformationClass

Si este parámetro es el valor ThreadIsIoPending de la enumeración THREADINFOCLASS , la función determina si el subproceso tiene pendiente alguna operación de E/S.

Use la función pública GetThreadIOPendingFlag en su lugar para obtener esta información.

Si este parámetro es el valor ThreadQuerySetWin32StartAddress de la enumeración THREADINFOCLASS , la función devuelve la dirección inicial del subproceso. Tenga en cuenta que en las versiones de Windows anteriores a Windows Vista, la dirección de inicio devuelta solo es confiable antes de que el subproceso empiece a ejecutarse.

Si este parámetro es el valor ThreadSubsystemInformation de la enumeración THREADINFOCLASS , la función recupera un valor de SUBSYSTEM_INFORMATION_TYPE que indica el tipo de subsistema del subproceso. El búfer al que apunta el parámetro ThreadInformation debe ser lo suficientemente grande como para contener una sola enumeración SUBSYSTEM_INFORMATION_TYPE .

[in, out] ThreadInformation

Puntero a un búfer en el que la función escribe la información solicitada. Si se especifica ThreadIsIoPending para el parámetro ThreadInformationClass , este búfer debe ser lo suficientemente grande como para contener un valor ULONG , que indica si el subproceso especificado tiene solicitudes de E/S pendientes. Si este valor es igual a cero, no hay ninguna operación de E/S pendiente; de lo contrario, si el valor es distinto de cero, el subproceso tiene pendientes operaciones de E/S.

Use la función pública GetThreadIOPendingFlag en su lugar para obtener esta información.

Si se especifica ThreadQuerySetWin32StartAddress para el parámetro ThreadInformationClass , este búfer debe ser lo suficientemente grande como para contener un valor PVOID, que es la dirección inicial del subproceso.

[in] ThreadInformationLength

Tamaño del búfer al que apunta el parámetro ThreadInformation , en bytes.

[out, optional] ReturnLength

Puntero a una variable en la que la función devuelve el tamaño de la información solicitada. Si la función se realizó correctamente, este es el tamaño de la información escrita en el búfer al que apunta el parámetro ThreadInformation , pero si el búfer era demasiado pequeño, este es el tamaño mínimo del búfer necesario para recibir la información correctamente.

Valor devuelto

Devuelve un código de error o correcto de NTSTATUS.

Los formularios y la importancia de los códigos de error NTSTATUS se enumeran en el archivo de encabezado Ntstatus.h disponible en el DDK y se describen en la documentación de DDK en Kernel-Mode Guía de diseño/ Guía de diseño del controlador / Técnicas de programación de controladores / Errores de registro.

Comentarios

La función NtQueryInformationThread es interna para el sistema operativo y está sujeta a cambios de una versión de Windows a otra. Para mantener la compatibilidad de la aplicación, es mejor usar la función pública mencionada anteriormente en su lugar.

Si usa NtQueryInformationThread, acceda a la función mediante la vinculación dinámica en tiempo de ejecución. Esto ofrece al código la oportunidad de responder correctamente si la función se ha cambiado o quitado del sistema operativo. Sin embargo, es posible que los cambios de firma no sean detectables.

Esta función no tiene ninguna biblioteca de importación asociada. Debe usar las funciones LoadLibrary y GetProcAddress para vincular dinámicamente a Ntdll.dll.

Requisitos

   
Plataforma de destino Windows
Encabezado winternl.h
Library ntdll.lib
Archivo DLL ntdll.dll

Consulte también

GetThreadIOPendingFlag