This enumeration specifies
the reason a thread is
waiting. VirtualMemory indicates that a thread is
waiting for virtual memory to be allocated, and
PageIn and PageOut indicate
that a thread is waiting for virtual memory to page in or out,
respectively. FreePage is for threads waiting for
a free virtual memory page. EventPairHigh and
EventPairLow signal that the thread is waiting on
events. LpcReceive indicates that a thread is
waiting for a local procedure call, and LpcReply
means that it is waiting for a reply to a local procedure call. If
thread execution has been suspended or delayed, you will see either
Suspended or ExecutionDelay.
SystemAllocation means that the thread is waiting
for a system allocation, and Executive indicates
that it is waiting for the scheduler. Unknown is
for when the operating system cannot report why a thread is waiting.
public enum ThreadWaitReason {
Executive = 0,
FreePage = 1,
PageIn = 2,
SystemAllocation = 3,
ExecutionDelay = 4,
Suspended = 5,
UserRequest = 6,
EventPairHigh = 7,
EventPairLow = 8,
LpcReceive = 9,
LpcReply = 10,
VirtualMemory = 11,
PageOut = 12,
Unknown = 13
}