#ifndef _NTEXAPI_H
// private
typedef struct _SYSTEM_EXTENDED_THREAD_INFORMATION
{
union
{
SYSTEM_THREAD_INFORMATION ThreadInfo;
struct
{
ULONGLONG KernelTime; // Number of 100-nanosecond intervals spent executing kernel code.
ULONGLONG UserTime; // Number of 100-nanosecond intervals spent executing user code.
ULONGLONG CreateTime; // The date and time when the thread was created.
ULONG WaitTime; // The current time spent in ready queue or waiting (depending on the thread state).
PVOID StartAddress; // The initial start address of the thread.
CLIENT_ID ClientId; // The identifier of the thread and the process owning the thread.
KPRIORITY Priority; // The dynamic priority of the thread.
KPRIORITY BasePriority; // The starting priority of the thread.
ULONG ContextSwitches; // The total number of context switches performed.
KTHREAD_STATE ThreadState; // The current state of the thread.
KWAIT_REASON WaitReason; // The current reason the thread is waiting.
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME;
PVOID StackBase; // The lower boundary of the current thread stack.
PVOID StackLimit; // The upper boundary of the current thread stack.
PVOID Win32StartAddress; // The thread's Win32 start address.
PVOID TebBaseAddress; // The base address of the memory region containing the TEB structure. // since VISTA
ULONG_PTR Reserved2;
ULONG_PTR Reserved3;
ULONG_PTR Reserved4;
} SYSTEM_EXTENDED_THREAD_INFORMATION, *PSYSTEM_EXTENDED_THREAD_INFORMATION;
View code on GitHubNo description available.