struct _KPRCB { unsigned short MinorVersion;/* 0x0 2 */ unsigned short MajorVersion;/* 0x2 2 */ struct _KTHREAD* CurrentThread;/* 0x4 4 */ struct _KTHREAD* NextThread;/* 0x8 4 */ struct _KTHREAD* IdleThread;/* 0xc 4 */ char Number;/* 0x10 1 */ char Reserved;/* 0x11 1 */ unsigned short BuildType;/* 0x12 2 */ unsigned long SetMember;/* 0x14 4 */ struct _RESTART_BLOCK* RestartBlock;/* 0x18 4 */ unsigned long InterruptCount;/* 0x1c 4 */ unsigned long DpcTime;/* 0x20 4 */ unsigned long InterruptTime;/* 0x24 4 */ unsigned long KernelTime;/* 0x28 4 */ unsigned long UserTime;/* 0x2c 4 */ struct _KDPC QuantumEndDpc;/* 0x30 32 */ /* ── cacheline 1 boundary (64 bytes) ── */ struct _KPCR* Pcr;/* 0x50 4 */ void* Spare2;/* 0x54 4 */ void* Spare3;/* 0x58 4 */ volatile unsigned long IpiFrozen;/* 0x5c 4 */ struct _KPROCESSOR_STATE ProcessorState;/* 0x60 560 */ /* ── cacheline 10 boundary (640 bytes) ── */ unsigned long LastDpcCount;/* 0x290 4 */ unsigned long DpcBypassCount;/* 0x294 4 */ unsigned long SoftwareInterrupts;/* 0x298 4 */ struct _KTRAP_FRAME* InterruptTrapFrame;/* 0x29c 4 */ unsigned long ApcBypassCount;/* 0x2a0 4 */ unsigned long DispatchInterruptCount;/* 0x2a4 4 */ unsigned long DebugDpcTime;/* 0x2a8 4 */ void* Spares[6];/* 0x2ac 24 */ /* ── cacheline 11 boundary (704 bytes) ── */ void* MoreSpares[3];/* 0x2c4 12 */ struct _KIPI_COUNTS* IpiCounts;/* 0x2d0 4 */ void* SpareHotData[2];/* 0x2d4 8 */ unsigned long CcFastReadNoWait;/* 0x2dc 4 */ unsigned long CcFastReadWait;/* 0x2e0 4 */ unsigned long CcFastReadNotPossible;/* 0x2e4 4 */ unsigned long CcCopyReadNoWait;/* 0x2e8 4 */ unsigned long CcCopyReadWait;/* 0x2ec 4 */ unsigned long CcCopyReadNoWaitMiss;/* 0x2f0 4 */ unsigned long KeAlignmentFixupCount;/* 0x2f4 4 */ unsigned long KeContextSwitches;/* 0x2f8 4 */ unsigned long KeDcacheFlushCount;/* 0x2fc 4 */ /* ── cacheline 12 boundary (768 bytes) ── */ unsigned long KeExceptionDispatchCount;/* 0x300 4 */ unsigned long KeFirstLevelTbFills;/* 0x304 4 */ unsigned long KeFloatingEmulationCount;/* 0x308 4 */ unsigned long KeIcacheFlushCount;/* 0x30c 4 */ unsigned long KeSecondLevelTbFills;/* 0x310 4 */ unsigned long KeSystemCalls;/* 0x314 4 */ unsigned long KeByteWordEmulationCount;/* 0x318 4 */ unsigned long ReservedCounter[1];/* 0x31c 4 */ void* SmallIrpFreeEntry;/* 0x320 4 */ void* LargeIrpFreeEntry;/* 0x324 4 */ void* MdlFreeEntry;/* 0x328 4 */ void* CreateInfoFreeEntry;/* 0x32c 4 */ void* NameBufferFreeEntry;/* 0x330 4 */ void* SharedCacheMapEntry;/* 0x334 4 */ void* MoreSpareHotData[2];/* 0x338 8 */ /* ── cacheline 13 boundary (832 bytes) ── */ struct _PP_LOOKASIDE_LIST PPLookasideList[16];/* 0x340 128 */ /* ── cacheline 15 boundary (960 bytes) ── */ struct _PP_LOOKASIDE_LIST PPNPagedLookasideList[8];/* 0x3c0 64 */ /* ── cacheline 16 boundary (1024 bytes) ── */ struct _PP_LOOKASIDE_LIST PPPagedLookasideList[8];/* 0x400 64 */ /* ── cacheline 17 boundary (1088 bytes) ── */ struct _KSPIN_LOCK_QUEUE LockQueue[16];/* 0x440 128 */ /* ── cacheline 19 boundary (1216 bytes) ── */ unsigned char ReservedPad[128];/* 0x4c0 128 */ /* ── cacheline 21 boundary (1344 bytes) ── */ void* CurrentPacket[3];/* 0x540 12 */ volatile unsigned long TargetSet;/* 0x54c 4 */ void (*WorkerRoutine)(void*, void*, void*, void*);/* 0x550 4 */ unsigned long CachePad1[11];/* 0x554 44 */ /* ── cacheline 22 boundary (1408 bytes) ── */ volatile unsigned __int64 RequestSummary;/* 0x580 8 */ unsigned long Spare4[14];/* 0x588 56 */ /* ── cacheline 23 boundary (1472 bytes) ── */ unsigned long DpcInterruptRequested;/* 0x5c0 4 */ unsigned long Spare5[17];/* 0x5c4 68 */ /* ── cacheline 24 boundary (1536 bytes) ── */ unsigned long CachePad2[2];/* 0x608 8 */ unsigned long MaximumDpcQueueDepth;/* 0x610 4 */ unsigned long MinimumDpcRate;/* 0x614 4 */ unsigned long AdjustDpcThreshold;/* 0x618 4 */ unsigned long DpcRequestRate;/* 0x61c 4 */ union _LARGE_INTEGER StartCount;/* 0x620 8 */ struct _LIST_ENTRY DpcListHead;/* 0x628 8 */ unsigned long DpcLock;/* 0x630 4 */ unsigned long DpcCount;/* 0x634 4 */ unsigned long QuantumEnd;/* 0x638 4 */ unsigned long DpcRoutineActive;/* 0x63c 4 */ /* ── cacheline 25 boundary (1600 bytes) ── */ unsigned long DpcQueueDepth;/* 0x640 4 */ unsigned char SkipTick;/* 0x644 1 */ /* 3 bytes padding */ struct _PROCESSOR_POWER_STATE PowerState;/* 0x648 136 */};/* source: Windows 2000 RC2 DDK Alpha libcntpr.lib CodeView type records; build 2128 per the DDK's ntverp.h */size 1744 (0x6d0)83 members1 hole (3 bytes)padding 028 cachelines
Used in (1)