2OOO, 19 December
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 is information class enumerated type for use with NtQueryInformationThread and NtSetInformationThread calls.
QUERY mode only. Required result buffer length is 0x1C. Output buffer points to THREAD_BASIC_INFORMATION structure.
QUERY mode only. Required result buffer length is 0x20. Output buffer points to THREAD_TIMES_INFORMATION structure.
SET mode only. Required information buffer size is 0x04 bytes. Output buffer points to ULONG value. (called from ADVAPI32.dll performance functions)
SET mode only. Required information buffer size is 0x04 bytes. Output buffer points to ULONG value. (called from Kernel32.dll SetThreadPriority)
SET mode only. Required information buffer size is 0x04 bytes. Output buffer points to ULONG value. (called from Kernel32.dll SetThreadAffinityMask)
SET mode only. Required information buffer size is 0x04 bytes. Output buffer points to HANDLE value.
QUERY mode only. Required result buffer length is 0x0C. Output buffer points to DESCRIPTOR_TABLE_ENTRY structure defined in <windbgkd.h> from Win2000 DDK.
SET mode only. Required information buffer size is 0x01 bytes. Output buffer points to BOOLEAN value.
SET mode only. Required information buffer size is 0x04 bytes. Output buffer points to HANDLE value to EventPair object.
QUERY and SET mode. Required buffer length is 0x04 bytes. Buffer points to PVOID value specifing address of thread start routine.
SET mode only. Required information buffer size is 0x04 bytes. Output buffer points to ULONG value. (TlsID. Called from Kernel32.dll TlsFree())
QUERY mode only. Required result buffer length is 0x08. Output buffer points to LARGE_INTEGER value.
QUERY mode only. Required result buffer length is 0x04. Output buffer points to Win32 predefined BOOL value.
SET mode only. Required information buffer size is 0x04 bytes. Output buffer points to ULONG value. (Called from Kernel32.dll SetThreadIdealProcessor())
QUERY and SET mode. Required buffer length is 0x04 bytes. Buffer points to BOOLEAN value.
SET mode only. Required information buffer size is 0x04 bytes. Output buffer points to PVOID value specifing ThreadLocalStorage array address.
Not implemented - STATUS_INVALID_INFO_CLASS.
Not implemented - STATUS_INVALID_INFO_CLASS.