x64x86arm64ia64 / ntdllntoskrnl

_KPRCB

← 5.2.3790.3959 3 builds latest →
struct _KPRCB {
unsigned short MinorVersion;/* 0x0 2 */
unsigned short MajorVersion;/* 0x2 2 */
/* 4 bytes padding */
unsigned char Number;/* 0x20 1 */
char WakeIdle;/* 0x21 1 */
unsigned short BuildType;/* 0x22 2 */
/* 4 bytes padding */
unsigned __int64 SetMember;/* 0x28 8 */
unsigned __int64 PcrPage;/* 0x38 8 */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned char PollSlot;/* 0x40 1 */
unsigned char ISTransition;/* 0x41 1 */
unsigned char Spare0[2];/* 0x42 2 */
unsigned long Spare1[3];/* 0x44 12 */
unsigned long ProcessorModel;/* 0x50 4 */
unsigned long ProcessorRevision;/* 0x54 4 */
unsigned long ProcessorFamily;/* 0x58 4 */
unsigned long ProcessorArchRev;/* 0x5c 4 */
unsigned __int64 ProcessorSerialNumber;/* 0x60 8 */
unsigned __int64 ProcessorFeatureBits;/* 0x68 8 */
unsigned char ProcessorVendorString[16];/* 0x70 16 */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned __int64 SystemReserved[8];/* 0x80 64 */
/* ── cacheline 3 boundary (192 bytes) ── */
unsigned __int64 HalReserved[16];/* 0xc0 128 */
/* ── cacheline 5 boundary (320 bytes) ── */
/* ── cacheline 71 boundary (4544 bytes) ── */
void* Spare00[2];/* 0x11f0 16 */
/* ── cacheline 72 boundary (4608 bytes) ── */
unsigned long DpcTime;/* 0x1200 4 */
unsigned long InterruptTime;/* 0x1204 4 */
unsigned long KernelTime;/* 0x1208 4 */
unsigned long UserTime;/* 0x120c 4 */
unsigned long InterruptCount;/* 0x1210 4 */
unsigned long DispatchInterruptCount;/* 0x1214 4 */
unsigned long DpcTimeCount;/* 0x1218 4 */
unsigned long DpcTimeLimit;/* 0x121c 4 */
unsigned long NestingLevel;/* 0x1220 4 */
volatile long MmSpinLockOrdering;/* 0x1224 4 */
volatile unsigned long CachedCommit;/* 0x1228 4 */
volatile unsigned long CachedResidentAvailable;/* 0x122c 4 */
long TickOffset;/* 0x1230 4 */
long DpcWatchdogPeriod;/* 0x1234 4 */
long DpcWatchdogCount;/* 0x1238 4 */
long ThreadWatchdogPeriod;/* 0x123c 4 */
/* ── cacheline 73 boundary (4672 bytes) ── */
long ThreadWatchdogCount;/* 0x1240 4 */
unsigned long PageColor;/* 0x1244 4 */
unsigned __int64 MultiThreadProcessorSet;/* 0x1250 8 */
volatile unsigned long IpiFrozen;/* 0x1258 4 */
unsigned long NodeColor;/* 0x125c 4 */
unsigned long NodeShiftedColor;/* 0x1260 4 */
unsigned long SecondaryColorMask;/* 0x1264 4 */
long Sleeping;/* 0x1268 4 */
/* 4 bytes padding */
void* HyperPte;/* 0x1270 8 */
void* SparePvoid;/* 0x1278 8 */
/* ── cacheline 74 boundary (4736 bytes) ── */
unsigned long CcFastReadNoWait;/* 0x1280 4 */
unsigned long CcFastReadWait;/* 0x1284 4 */
unsigned long CcFastReadNotPossible;/* 0x1288 4 */
unsigned long CcCopyReadNoWait;/* 0x128c 4 */
unsigned long CcCopyReadWait;/* 0x1290 4 */
unsigned long CcCopyReadNoWaitMiss;/* 0x1294 4 */
unsigned long KeAlignmentFixupCount;/* 0x1298 4 */
unsigned long KeContextSwitches;/* 0x129c 4 */
unsigned long KeExceptionDispatchCount;/* 0x12a0 4 */
unsigned long KeSystemCalls;/* 0x12a4 4 */
unsigned long PrcbPad0[3];/* 0x12a8 12 */
long LookasideIrpFloat;/* 0x12b4 4 */
unsigned long SpareCounter0;/* 0x12b8 4 */
volatile long IoReadOperationCount;/* 0x12bc 4 */
/* ── cacheline 75 boundary (4800 bytes) ── */
volatile long IoWriteOperationCount;/* 0x12c0 4 */
volatile long IoOtherOperationCount;/* 0x12c4 4 */
volatile long MmPageFaultCount;/* 0x12e0 4 */
volatile long MmCopyOnWriteCount;/* 0x12e4 4 */
volatile long MmTransitionCount;/* 0x12e8 4 */
volatile long MmCacheTransitionCount;/* 0x12ec 4 */
volatile long MmDemandZeroCount;/* 0x12f0 4 */
volatile long MmPageReadCount;/* 0x12f4 4 */
volatile long MmPageReadIoCount;/* 0x12f8 4 */
volatile long MmCacheReadCount;/* 0x12fc 4 */
/* ── cacheline 76 boundary (4864 bytes) ── */
volatile long MmCacheIoCount;/* 0x1300 4 */
volatile long MmDirtyPagesWriteCount;/* 0x1304 4 */
volatile long MmDirtyWriteIoCount;/* 0x1308 4 */
volatile long MmMappedPagesWriteCount;/* 0x130c 4 */
volatile long MmMappedWriteIoCount;/* 0x1310 4 */
unsigned long CcFastMdlReadNoWait;/* 0x1314 4 */
unsigned long CcFastMdlReadWait;/* 0x1318 4 */
unsigned long CcFastMdlReadNotPossible;/* 0x131c 4 */
unsigned long CcMapDataNoWait;/* 0x1320 4 */
unsigned long CcMapDataWait;/* 0x1324 4 */
unsigned long CcPinMappedDataCount;/* 0x1328 4 */
unsigned long CcPinReadNoWait;/* 0x132c 4 */
unsigned long CcPinReadWait;/* 0x1330 4 */
unsigned long CcMdlReadNoWait;/* 0x1334 4 */
unsigned long CcMdlReadWait;/* 0x1338 4 */
unsigned long CcLazyWriteHotSpots;/* 0x133c 4 */
/* ── cacheline 77 boundary (4928 bytes) ── */
unsigned long CcLazyWriteIos;/* 0x1340 4 */
unsigned long CcLazyWritePages;/* 0x1344 4 */
unsigned long CcDataFlushes;/* 0x1348 4 */
unsigned long CcDataPages;/* 0x134c 4 */
unsigned long CcLostDelayedWrites;/* 0x1350 4 */
unsigned long CcFastReadResourceMiss;/* 0x1354 4 */
unsigned long CcCopyReadWaitMiss;/* 0x1358 4 */
unsigned long CcFastMdlReadResourceMiss;/* 0x135c 4 */
unsigned long CcMapDataNoWaitMiss;/* 0x1360 4 */
unsigned long CcMapDataWaitMiss;/* 0x1364 4 */
unsigned long CcPinReadNoWaitMiss;/* 0x1368 4 */
unsigned long CcPinReadWaitMiss;/* 0x136c 4 */
unsigned long CcMdlReadNoWaitMiss;/* 0x1370 4 */
unsigned long CcMdlReadWaitMiss;/* 0x1374 4 */
unsigned long CcReadAheadIos;/* 0x1378 4 */
unsigned long Spare21[1];/* 0x137c 4 */
/* ── cacheline 78 boundary (4992 bytes) ── */
unsigned __int64 StartCycles;/* 0x1380 8 */
unsigned __int64 CycleTime;/* 0x1388 8 */
unsigned __int64 Spare3[12];/* 0x1390 96 */
/* ── cacheline 79 boundary (5056 bytes) ── */
/* ── cacheline 92 boundary (5888 bytes) ── */
/* ── cacheline 96 boundary (6144 bytes) ── */
volatile unsigned __int64 PacketBarrier;/* 0x1800 8 */
unsigned __int64 Spare5[15];/* 0x1808 120 */
/* ── cacheline 98 boundary (6272 bytes) ── */
void* CurrentPacket[3];/* 0x1880 24 */
volatile unsigned __int64 TargetSet;/* 0x1898 8 */
void (*WorkerRoutine)(void*, void*, void*, void*);/* 0x18a0 8 */
unsigned long MHz;/* 0x18a8 4 */
unsigned long Spare6;/* 0x18ac 4 */
unsigned __int64 BranchHistory[9];/* 0x18b0 72 */
/* ── cacheline 99 boundary (6336 bytes) ── */
void* ResourceRateQueue;/* 0x18f8 8 */
/* ── cacheline 100 boundary (6400 bytes) ── */
volatile unsigned long RequestSummary;/* 0x1900 4 */
/* 4 bytes padding */
void (*IpiWorkerRoutine)(void*, void*, void*, void*);/* 0x1910 8 */
void* IpiParameter[3];/* 0x1918 24 */
unsigned __int64 Spare8[10];/* 0x1930 80 */
/* ── cacheline 102 boundary (6528 bytes) ── */
/* ── cacheline 103 boundary (6592 bytes) ── */
void* DpcStack;/* 0x19c0 8 */
long MaximumDpcQueueDepth;/* 0x19c8 4 */
unsigned long DpcRequestRate;/* 0x19cc 4 */
unsigned long MinimumDpcRate;/* 0x19d0 4 */
volatile unsigned char DpcInterruptRequested;/* 0x19d4 1 */
volatile unsigned char DpcThreadRequested;/* 0x19d5 1 */
volatile unsigned char DpcRoutineActive;/* 0x19d6 1 */
volatile unsigned char DpcThreadActive;/* 0x19d7 1 */
unsigned long DpcLastCount;/* 0x19d8 4 */
/* 4 bytes padding */
union {
volatile unsigned __int64 TimerHand;/* 0x19e0 8 */
volatile unsigned __int64 TimerRequest;/* 0x19e0 8 */
};/* 0x19e0 8 */
unsigned char ThreadDpcEnable;/* 0x19e8 1 */
volatile unsigned char QuantumEnd;/* 0x19e9 1 */
volatile unsigned char IdleSchedule;/* 0x19ea 1 */
unsigned char Spare9;/* 0x19eb 1 */
long DpcSetEventRequest;/* 0x19ec 4 */
unsigned long AdjustDpcThreshold;/* 0x19f0 4 */
/* 4 bytes padding */
/* ── cacheline 104 boundary (6656 bytes) ── */
void* PrcbPad5;/* 0x1a18 8 */
/* ── cacheline 105 boundary (6720 bytes) ── */
long ClockKeepAlive;/* 0x1a60 4 */
unsigned char ClockCheckSlot;/* 0x1a64 1 */
unsigned char ClockPollCycle;/* 0x1a65 1 */
unsigned char PrcbPad6[2];/* 0x1a66 2 */
unsigned long PeriodicCount;/* 0x1a68 4 */
unsigned long PeriodicBias;/* 0x1a6c 4 */
unsigned __int64 CycleCounterFrequency;/* 0x1a70 8 */
unsigned __int64 Spare11[1];/* 0x1a78 8 */
/* ── cacheline 106 boundary (6784 bytes) ── */
unsigned __int64 WaitLock;/* 0x1a90 8 */
unsigned __int64 PrcbLock;/* 0x1a98 8 */
unsigned long ReadySummary;/* 0x1aa8 4 */
unsigned long QueueIndex;/* 0x1aac 4 */
unsigned __int64 Spare13[10];/* 0x1ab0 80 */
/* ── cacheline 108 boundary (6912 bytes) ── */
/* ── cacheline 116 boundary (7424 bytes) ── */
unsigned char SkipTick;/* 0x1d00 1 */
unsigned char DebuggerSavedIRQL;/* 0x1d01 1 */
unsigned short ProcessorId;/* 0x1d02 2 */
/* 4 bytes padding */
/* ── cacheline 120 boundary (7680 bytes) ── */
/* ── cacheline 121 boundary (7744 bytes) ── */
/* ── cacheline 122 boundary (7808 bytes) ── */
/* ── cacheline 123 boundary (7872 bytes) ── */
/* ── cacheline 124 boundary (7936 bytes) ── */
/* ── cacheline 125 boundary (8000 bytes) ── */
unsigned long CacheCount;/* 0x1f5c 4 */
unsigned __int64 CacheProcessorMask[5];/* 0x1f60 40 */
/* ── cacheline 126 boundary (8064 bytes) ── */
/* 6 bytes padding */
void* WheaInfo;/* 0x1fa0 8 */
void* EtwSupport;/* 0x1fa8 8 */
/* 80 bytes padding */
/* ── cacheline 128 boundary (8192 bytes) ── */
/* ── cacheline 176 boundary (11264 bytes) ── */
/* ── cacheline 224 boundary (14336 bytes) ── */
void* RateControl;/* 0x3810 8 */
unsigned __int64 PackageProcessorSet;/* 0x3818 8 */
unsigned __int64 CoreProcessorSet;/* 0x3820 8 */
};
size 14976 (0x3a80)192 members9 holes (114 bytes)padding 88234 cachelines
Used in (2)