#ifndef _NTEXAPI_H
/**
* The SYSTEM_THREAD_INFORMATION structure contains information about a thread running on a system.
* https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-tsts/e82d73e4-cedb-4077-9099-d58f3459722f
*/
typedef struct _SYSTEM_THREAD_INFORMATION
{
LARGE_INTEGER KernelTime; // Number of 100-nanosecond intervals spent executing kernel code.
LARGE_INTEGER UserTime; // Number of 100-nanosecond intervals spent executing user code.
LARGE_INTEGER CreateTime; // System time when the thread was created.
ULONG WaitTime; // Time spent in ready queue or waiting (depending on the thread state).
PVOID StartAddress; // Start address of the thread.
CLIENT_ID ClientId; // ID of the thread and the process owning the thread.
KPRIORITY Priority; // Dynamic thread priority.
KPRIORITY BasePriority; // Base thread priority.
ULONG ContextSwitches; // Total context switches.
KTHREAD_STATE ThreadState; // Current thread state.
KWAIT_REASON WaitReason; // The reason the thread is waiting.
} SYSTEM_THREAD_INFORMATION, *PSYSTEM_THREAD_INFORMATION;
View code on GitHub
This type is documented in the [MS-TSTS] specification.