_KPROCESS

//0x80 bytes (sizeof) struct _KPROCESS { struct _DISPATCHER_HEADER Header; //0x0 struct _LIST_ENTRY ProfileListHead; //0x10 ULONG DirectoryTableBase; //0x18 ULONG Unused0; //0x1c struct _KGDTENTRY LdtDescriptor; //0x20 struct _KIDTENTRY Int21Descriptor; //0x28 USHORT IopmOffset; //0x30 UCHAR Iopl; //0x32 UCHAR Unused; //0x33 volatile ULONG ActiveProcessors; //0x34 ULONG KernelTime; //0x38 ULONG UserTime; //0x3c struct _LIST_ENTRY ReadyListHead; //0x40 struct _SINGLE_LIST_ENTRY SwapListEntry; //0x48 VOID* VdmTrapcHandler; //0x4c struct _LIST_ENTRY ThreadListHead; //0x50 ULONG ProcessLock; //0x58 ULONG Affinity; //0x5c union { struct { volatile LONG AutoAlignment:1; //0x60 volatile LONG DisableBoost:1; //0x60 volatile LONG DisableQuantum:1; //0x60 volatile LONG ReservedFlags:29; //0x60 }; volatile LONG ProcessFlags; //0x60 }; CHAR BasePriority; //0x64 CHAR QuantumReset; //0x65 UCHAR State; //0x66 UCHAR ThreadSeed; //0x67 UCHAR PowerState; //0x68 UCHAR IdealNode; //0x69 UCHAR Visited; //0x6a union { struct _KEXECUTE_OPTIONS Flags; //0x6b UCHAR ExecuteOptions; //0x6b }; ULONG StackCount; //0x6c struct _LIST_ENTRY ProcessListEntry; //0x70 volatile ULONGLONG CycleTime; //0x78 };