Недокументированные функции NTDLL

19 декабря 2000



THREAD_INFORMATION_CLASS

typedef enum _THREAD_INFORMATION_CLASS {

ThreadBasicInformation, ThreadTimes, ThreadPriority, ThreadBasePriority, ThreadAffinityMask, ThreadImpersonationToken, ThreadDescriptorTableEntry, ThreadEnableAlignmentFaultFixup, ThreadEventPair, ThreadQuerySetWin32StartAddress, ThreadZeroTlsCell, ThreadPerformanceCount, ThreadAmILastThread, ThreadIdealProcessor, ThreadPriorityBoost, ThreadSetTlsArrayAddress, ThreadIsIoPending, ThreadHideFromDebugger

} THREAD_INFORMATION_CLASS, *PTHREAD_INFORMATION_CLASS;



THREAD_INFORMATION_CLASS это класс информации для использования с функциями NtQueryInformationThread и NtSetInformationThread.


ThreadBasicInformation
Только режим запроса. Необходимая длина буфера результа 0x1C. Выходной буфер указывает на структуру
THREAD_BASIC_INFORMATION.
ThreadTimes
Только режим запроса. Необходимая длина буфера 0x20. Выходной буфер указывает на структуру
THREAD_TIMES_INFORMATION.
ThreadPriority
Только режим установки. Требуемый размер буфера 0x04 байт. Выходной буфер указывает на значение типа ULONG. (вызывается из функций производительности ADVAPI32.dll)
ThreadBasePriority
Только режим установки. Требуемый размер буфера 0x04 байта. Выходной буфер указывает на значение типа ULONG. (вызывается из Kernel32.dll SetThreadPriority)
ThreadAffinityMask
Только режим установки. Требуемый размер буфера 0x04 байт. Выходной буфер указывает на значение типа ULONG. (вызывается из Kernel32.dll SetThreadAffinityMask)
ThreadImpersonationToken
Только режим установки. Требуемый размер буфера 0x04 байта. Выходной буфер указывает на значение типа HANDLE.
ThreadDescriptorTableEntry
Только режим запроса. Необходимая длина буфера 0x0C. Выходной буфер указывает на структуру DESCRIPTOR_TABLE_ENTRY, определённую в <windbgkd.h> из Win2000 DDK.
ThreadEnableAlignmentFaultFixup
Только режим установки. Требуемый размер буфера 0x01 байт. Выходной буфер указывает на значение типа BOOLEAN.
ThreadEventPair
Только режим установки. Требуемый размер буфера 0x04 байта. Выходной буфер указывает на HANDLE объекта "Пара событий".
ThreadQuerySetWin32StartAddress
Режим запроса и установки. Необходимая длина буфера 0x04 байта. Буфер указывает на значение типа PVOID, задающее адрес функции стартующего потока.
ThreadZeroTlsCell
Только режим установки. Требуемый размер буфера 0x04 байта. Выходной буфер указывает на значение типа ULONG. (TlsID. Вызывается из Kernel32.dll TlsFree())
ThreadPerformanceCount
Только режим запроса. Необходимая длина буфера 0x08. Выходной буфер указывает на значение типа LARGE_INTEGER.
ThreadAmILastThread
Только режим запроса. Необходимая длина буфера 0x04. Выходной буфер указывает на предопределённое Win32 значение типа BOOL.
ThreadIdealProcessor
Только режим установки. Требуемый размер буфера 0x04 байта. Выходной буфер указывает на значение типа ULONG. (вызывается из Kernel32.dll SetThreadIdealProcessor())
ThreadPriorityBoost
Режим запроса и установки. Необходимая длина буфера 0x04 байта. Буфер указывает на значение типа BOOLEAN.
ThreadSetTlsArrayAddress
Только режим установки. Требуемый размер буфера 0x04 байта. Выходной буфер указывает на значение типа PVOID, задающее адрес массива ThreadLocalStorage.
ThreadIsIoPending
Не реализовано. Результат будет STATUS_INVALID_INFO_CLASS.
ThreadHideFromDebugger
Не реализовано. Результат будет STATUS_INVALID_INFO_CLASS.


Документировал:
Томаш Новак
Reactos



Зависимости:
Библиотека: ntdll.lib


См. также:
NtQueryInformationThread
NtSetInformationThread
THREAD_BASIC_INFORMATION
THREAD_TIMES_INFORMATION