_KPRCB

//0x4160 bytes (sizeof) struct _KPRCB { USHORT MinorVersion; //0x0 USHORT MajorVersion; //0x2 struct _KTHREAD* CurrentThread; //0x4 struct _KTHREAD* NextThread; //0x8 struct _KTHREAD* IdleThread; //0xc UCHAR LegacyNumber; //0x10 UCHAR NestingLevel; //0x11 USHORT BuildType; //0x12 CHAR CpuType; //0x14 CHAR CpuID; //0x15 union { USHORT CpuStep; //0x16 struct { UCHAR CpuStepping; //0x16 UCHAR CpuModel; //0x17 }; }; struct _KPROCESSOR_STATE ProcessorState; //0x18 ULONG KernelReserved[16]; //0x338 ULONG HalReserved[16]; //0x378 ULONG CFlushSize; //0x3b8 UCHAR CoresPerPhysicalProcessor; //0x3bc UCHAR LogicalProcessorsPerCore; //0x3bd UCHAR PrcbPad0[2]; //0x3be ULONG MHz; //0x3c0 UCHAR CpuVendor; //0x3c4 UCHAR GroupIndex; //0x3c5 USHORT Group; //0x3c6 ULONG GroupSetMember; //0x3c8 ULONG Number; //0x3cc UCHAR ClockOwner; //0x3d0 UCHAR PendingTick; //0x3d1 UCHAR PrcbPad1[70]; //0x3d2 struct _KSPIN_LOCK_QUEUE LockQueue[17]; //0x418 struct _KTHREAD* NpxThread; //0x4a0 ULONG InterruptCount; //0x4a4 ULONG KernelTime; //0x4a8 ULONG UserTime; //0x4ac ULONG DpcTime; //0x4b0 ULONG DpcTimeCount; //0x4b4 ULONG InterruptTime; //0x4b8 ULONG AdjustDpcThreshold; //0x4bc ULONG PageColor; //0x4c0 UCHAR DebuggerSavedIRQL; //0x4c4 UCHAR NodeColor; //0x4c5 UCHAR PrcbPad20[2]; //0x4c6 ULONG NodeShiftedColor; //0x4c8 struct _KNODE* ParentNode; //0x4cc ULONG SecondaryColorMask; //0x4d0 ULONG DpcTimeLimit; //0x4d4 ULONG PrcbPad21[2]; //0x4d8 ULONG CcFastReadNoWait; //0x4e0 ULONG CcFastReadWait; //0x4e4 ULONG CcFastReadNotPossible; //0x4e8 ULONG CcCopyReadNoWait; //0x4ec ULONG CcCopyReadWait; //0x4f0 ULONG CcCopyReadNoWaitMiss; //0x4f4 volatile LONG MmSpinLockOrdering; //0x4f8 volatile LONG IoReadOperationCount; //0x4fc volatile LONG IoWriteOperationCount; //0x500 volatile LONG IoOtherOperationCount; //0x504 union _LARGE_INTEGER IoReadTransferCount; //0x508 union _LARGE_INTEGER IoWriteTransferCount; //0x510 union _LARGE_INTEGER IoOtherTransferCount; //0x518 ULONG CcFastMdlReadNoWait; //0x520 ULONG CcFastMdlReadWait; //0x524 ULONG CcFastMdlReadNotPossible; //0x528 ULONG CcMapDataNoWait; //0x52c ULONG CcMapDataWait; //0x530 ULONG CcPinMappedDataCount; //0x534 ULONG CcPinReadNoWait; //0x538 ULONG CcPinReadWait; //0x53c ULONG CcMdlReadNoWait; //0x540 ULONG CcMdlReadWait; //0x544 ULONG CcLazyWriteHotSpots; //0x548 ULONG CcLazyWriteIos; //0x54c ULONG CcLazyWritePages; //0x550 ULONG CcDataFlushes; //0x554 ULONG CcDataPages; //0x558 ULONG CcLostDelayedWrites; //0x55c ULONG CcFastReadResourceMiss; //0x560 ULONG CcCopyReadWaitMiss; //0x564 ULONG CcFastMdlReadResourceMiss; //0x568 ULONG CcMapDataNoWaitMiss; //0x56c ULONG CcMapDataWaitMiss; //0x570 ULONG CcPinReadNoWaitMiss; //0x574 ULONG CcPinReadWaitMiss; //0x578 ULONG CcMdlReadNoWaitMiss; //0x57c ULONG CcMdlReadWaitMiss; //0x580 ULONG CcReadAheadIos; //0x584 ULONG KeAlignmentFixupCount; //0x588 ULONG KeExceptionDispatchCount; //0x58c ULONG KeSystemCalls; //0x590 ULONG AvailableTime; //0x594 ULONG PrcbPad22[2]; //0x598 struct _PP_LOOKASIDE_LIST PPLookasideList[16]; //0x5a0 struct _GENERAL_LOOKASIDE_POOL PPNxPagedLookasideList[32]; //0x620 struct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32]; //0xf20 struct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32]; //0x1820 volatile ULONG PacketBarrier; //0x2120 volatile LONG ReverseStall; //0x2124 VOID* IpiFrame; //0x2128 UCHAR PrcbPad3[52]; //0x212c VOID* volatile CurrentPacket[3]; //0x2160 volatile ULONG TargetSet; //0x216c VOID (* volatileWorkerRoutine)(VOID* arg1, VOID* arg2, VOID* arg3, VOID* arg4); //0x2170 volatile ULONG IpiFrozen; //0x2174 UCHAR PrcbPad4[40]; //0x2178 volatile ULONG RequestSummary; //0x21a0 struct _KPRCB* volatile SignalDone; //0x21a4 UCHAR PrcbPad50[48]; //0x21a8 ULONG InterruptLastCount; //0x21d8 ULONG InterruptRate; //0x21dc struct _KDPC_DATA DpcData[2]; //0x21e0 VOID* DpcStack; //0x2208 LONG MaximumDpcQueueDepth; //0x220c ULONG DpcRequestRate; //0x2210 ULONG MinimumDpcRate; //0x2214 ULONG DpcLastCount; //0x2218 ULONG PrcbLock; //0x221c struct _KGATE DpcGate; //0x2220 UCHAR ThreadDpcEnable; //0x2230 volatile UCHAR QuantumEnd; //0x2231 volatile UCHAR DpcRoutineActive; //0x2232 volatile UCHAR IdleSchedule; //0x2233 union { volatile LONG DpcRequestSummary; //0x2234 SHORT DpcRequestSlot[2]; //0x2234 struct { SHORT NormalDpcState; //0x2234 SHORT ThreadDpcState; //0x2236 }; struct { ULONG DpcNormalProcessingActive:1; //0x2234 ULONG DpcNormalProcessingRequested:1; //0x2234 ULONG DpcNormalThreadSignal:1; //0x2234 ULONG DpcNormalTimerExpiration:1; //0x2234 ULONG DpcNormalDpcPresent:1; //0x2234 ULONG DpcNormalLocalInterrupt:1; //0x2234 ULONG DpcNormalSpare:10; //0x2234 ULONG DpcThreadActive:1; //0x2234 ULONG DpcThreadRequested:1; //0x2234 ULONG DpcThreadSpare:14; //0x2234 }; }; ULONG LastTimerHand; //0x2238 ULONG LastTick; //0x223c ULONG PeriodicCount; //0x2240 ULONG PeriodicBias; //0x2244 ULONG ClockInterrupts; //0x2248 ULONG ReadyScanTick; //0x224c UCHAR BalanceState; //0x2250 UCHAR GroupSchedulingOverQuota; //0x2251 UCHAR PrcbPad41[10]; //0x2252 struct _KTIMER_TABLE TimerTable; //0x2260 struct _KDPC CallDpc; //0x3aa0 LONG ClockKeepAlive; //0x3ac0 UCHAR PrcbPad6[4]; //0x3ac4 LONG DpcWatchdogPeriod; //0x3ac8 LONG DpcWatchdogCount; //0x3acc volatile LONG KeSpinLockOrdering; //0x3ad0 ULONG PrcbPad70[1]; //0x3ad4 ULONG QueueIndex; //0x3ad8 struct _SINGLE_LIST_ENTRY DeferredReadyListHead; //0x3adc struct _LIST_ENTRY WaitListHead; //0x3ae0 ULONG WaitLock; //0x3ae8 ULONG ReadySummary; //0x3aec ULONG ReadyQueueWeight; //0x3af0 struct _KPRCB* BuddyPrcb; //0x3af4 ULONGLONG StartCycles; //0x3af8 ULONGLONG GenerationTarget; //0x3b00 volatile ULONGLONG CycleTime; //0x3b08 volatile ULONG HighCycleTime; //0x3b10 ULONG ScbOffset; //0x3b14 ULONGLONG AffinitizedCycles; //0x3b18 struct _LIST_ENTRY DispatcherReadyListHead[32]; //0x3b20 VOID* ChainedInterruptList; //0x3c20 LONG LookasideIrpFloat; //0x3c24 struct _RTL_RB_TREE ScbQueue; //0x3c28 struct _LIST_ENTRY ScbList; //0x3c30 volatile LONG MmPageFaultCount; //0x3c38 volatile LONG MmCopyOnWriteCount; //0x3c3c volatile LONG MmTransitionCount; //0x3c40 volatile LONG MmCacheTransitionCount; //0x3c44 volatile LONG MmDemandZeroCount; //0x3c48 volatile LONG MmPageReadCount; //0x3c4c volatile LONG MmPageReadIoCount; //0x3c50 volatile LONG MmCacheReadCount; //0x3c54 volatile LONG MmCacheIoCount; //0x3c58 volatile LONG MmDirtyPagesWriteCount; //0x3c5c volatile LONG MmDirtyWriteIoCount; //0x3c60 volatile LONG MmMappedPagesWriteCount; //0x3c64 volatile LONG MmMappedWriteIoCount; //0x3c68 volatile ULONG CachedCommit; //0x3c6c volatile ULONG CachedResidentAvailable; //0x3c70 VOID* HyperPte; //0x3c74 UCHAR PrcbPad8[4]; //0x3c78 UCHAR VendorString[13]; //0x3c7c UCHAR InitialApicId; //0x3c89 UCHAR LogicalProcessorsPerPhysicalProcessor; //0x3c8a UCHAR PrcbPad9[5]; //0x3c8b ULONG FeatureBits; //0x3c90 union _LARGE_INTEGER UpdateSignature; //0x3c98 volatile ULONGLONG IsrTime; //0x3ca0 ULONG Stride; //0x3ca8 ULONG PrcbPad90; //0x3cac struct _PROCESSOR_POWER_STATE PowerState; //0x3cb0 ULONG PrcbPad91[1]; //0x3e30 struct _KDPC DpcWatchdogDpc; //0x3e34 struct _KTIMER DpcWatchdogTimer; //0x3e58 union _SLIST_HEADER HypercallPageList; //0x3e80 VOID* HypercallPageVirtual; //0x3e88 VOID* VirtualApicAssist; //0x3e8c ULONGLONG* StatisticsPage; //0x3e90 struct _CACHE_DESCRIPTOR Cache[5]; //0x3e94 ULONG CacheCount; //0x3ed0 struct _KAFFINITY_EX PackageProcessorSet; //0x3ed4 ULONG CacheProcessorMask[5]; //0x3ee0 ULONG ScanSiblingMask; //0x3ef4 ULONG CoreProcessorSet; //0x3ef8 ULONG ScanSiblingIndex; //0x3efc ULONG LLCLevel; //0x3f00 VOID* WheaInfo; //0x3f04 VOID* EtwSupport; //0x3f08 union _SLIST_HEADER InterruptObjectPool; //0x3f10 ULONG PrcbPad92[8]; //0x3f18 struct _PROCESSOR_PROFILE_CONTROL_AREA* ProcessorProfileControlArea; //0x3f38 VOID* ProfileEventIndexAddress; //0x3f3c struct _KDPC TimerExpirationDpc; //0x3f40 struct _SYNCH_COUNTERS SynchCounters; //0x3f60 struct _FILESYSTEM_DISK_COUNTERS FsCounters; //0x4018 struct _CONTEXT* Context; //0x4028 ULONG ContextFlagsInit; //0x402c struct _XSAVE_AREA* ExtendedState; //0x4030 struct _KENTROPY_TIMING_STATE EntropyTimingState; //0x4034 };