typedef struct tagThreadState {
RTHANDLE OwnerProcess;
RTHANDLE NextThread;
BYTE ThreadState;
BYTE SuspendDepth;
WORD DelayRequest;
RTHANDLE LastExchange;
DWORD KnDelayRequest;
KNHANDLE LastKnExchange;
CPUFRAME CpuFrame;
} THREADSTATE_SNAPSHOT, far *LPTHREADSTATE_SNAPSHOT;
OwnerProcess
NextThread
ThreadState
| Value | Meaning |
0x00 |
Ready and running |
0x01 |
Ready and not running |
0x02 |
Asleep |
0x03 |
Waiting at an exchange object |
0x04 |
Waiting at a region |
0x05 |
Waiting at an object directory |
0x06 |
Waiting at a port (deprecated) |
0x07 |
Being deleted |
0x08 |
Waiting at a kernel (low-level) object |
0x10 |
Suspended |
0x11 |
Self-suspended |
0x12 |
Asleep/Suspended |
0x13 |
Waiting at an exchange and Suspended |
0x14 |
Waiting at a region and Suspended |
0x15 |
Waiting at an object directory and Suspended |
0x16 |
Waiting at a port and suspended (deprecated) |
0x17 |
Being deleted and Suspended |
|
Waiting at a low-level object |
0x20 |
Suspended after a fault occurred |
0xff |
Thread state unknown |
SuspendDepth
DelayRequest
LastExchange
KnDelayRequest
LastKnExchange
CpuFrame
GetRtThreadState, CpuFrame structure