2.2.2.16.2 SYSTEM_THREAD_INFORMATION

The SYSTEM_THREAD_INFORMATION structure contains information about a thread running on a system.

 typedef struct _SYSTEM_THREAD_INFORMATION {
   LARGE_INTEGER KernelTime;
   LARGE_INTEGER UserTime;
   LARGE_INTEGER CreateTime;
   ULONG WaitTime;
   PVOID StartAddress;
   CLIENT_ID ClientId;
   LONG Priority;
   LONG BasePriority;
   ULONG ContextSwitches;
   ULONG ThreadState;
   ULONG WaitReason;
 } SYSTEM_THREAD_INFORMATION,
  *PSYSTEM_THREAD_INFORMATION;

KernelTime: Number of 100-nanosecond intervals spent executing kernel code.

UserTime: Number of 100-nanosecond intervals spent executing user code.

CreateTime: System time when the thread was created.

WaitTime: Time spent in ready queue or waiting (depending on the thread state).

StartAddress: Start address of the thread.

ClientId: ID of the thread and the process owning the thread.

Priority: Dynamic thread priority.

BasePriority: Base thread priority.

ContextSwitches: Total context switches.

ThreadState: Current thread state.

WaitReason: The reason the thread is waiting.