typedef struct _KPRCB                                         // 190 elements, 0x2008 bytes (sizeof)
           {
/*0x000*/      UINT16       MinorVersion;
/*0x002*/      UINT16       MajorVersion;
/*0x004*/      struct _KTHREAD* CurrentThread;
/*0x008*/      struct _KTHREAD* NextThread;
/*0x00C*/      struct _KTHREAD* IdleThread;
/*0x010*/      UINT8        Number;
/*0x011*/      UINT8        NestingLevel;
/*0x012*/      UINT16       BuildType;
/*0x014*/      ULONG32      SetMember;
/*0x018*/      CHAR         CpuType;
/*0x019*/      CHAR         CpuID;
               union                                                     // 2 elements, 0x2 bytes (sizeof)
               {
/*0x01A*/          UINT16       CpuStep;
                   struct                                                // 2 elements, 0x2 bytes (sizeof)
                   {
/*0x01A*/              UINT8        CpuStepping;
/*0x01B*/              UINT8        CpuModel;
                   };
               };
/*0x01C*/      struct _KPROCESSOR_STATE ProcessorState;                  // 2 elements, 0x320 bytes (sizeof)
/*0x33C*/      ULONG32      KernelReserved[16];
/*0x37C*/      ULONG32      HalReserved[16];
/*0x3BC*/      ULONG32      CFlushSize;
/*0x3C0*/      UINT8        CoresPerPhysicalProcessor;
/*0x3C1*/      UINT8        LogicalProcessorsPerCore;
/*0x3C2*/      UINT8        PrcbPad0[2];
/*0x3C4*/      ULONG32      MHz;
/*0x3C8*/      UINT8        PrcbPad1[80];
/*0x418*/      struct _KSPIN_LOCK_QUEUE LockQueue[49];
/*0x5A0*/      struct _KTHREAD* NpxThread;
/*0x5A4*/      ULONG32      InterruptCount;
/*0x5A8*/      ULONG32      KernelTime;
/*0x5AC*/      ULONG32      UserTime;
/*0x5B0*/      ULONG32      DpcTime;
/*0x5B4*/      ULONG32      DpcTimeCount;
/*0x5B8*/      ULONG32      InterruptTime;
/*0x5BC*/      ULONG32      AdjustDpcThreshold;
/*0x5C0*/      ULONG32      PageColor;
/*0x5C4*/      UINT8        SkipTick;
/*0x5C5*/      UINT8        DebuggerSavedIRQL;
/*0x5C6*/      UINT8        NodeColor;
/*0x5C7*/      UINT8        PollSlot;
/*0x5C8*/      ULONG32      NodeShiftedColor;
/*0x5CC*/      struct _KNODE* ParentNode;
/*0x5D0*/      ULONG32      MultiThreadProcessorSet;
/*0x5D4*/      struct _KPRCB* MultiThreadSetMaster;
/*0x5D8*/      ULONG32      SecondaryColorMask;
/*0x5DC*/      ULONG32      DpcTimeLimit;
/*0x5E0*/      ULONG32      CcFastReadNoWait;
/*0x5E4*/      ULONG32      CcFastReadWait;
/*0x5E8*/      ULONG32      CcFastReadNotPossible;
/*0x5EC*/      ULONG32      CcCopyReadNoWait;
/*0x5F0*/      ULONG32      CcCopyReadWait;
/*0x5F4*/      ULONG32      CcCopyReadNoWaitMiss;
/*0x5F8*/      LONG32       MmSpinLockOrdering;
/*0x5FC*/      LONG32       IoReadOperationCount;
/*0x600*/      LONG32       IoWriteOperationCount;
/*0x604*/      LONG32       IoOtherOperationCount;
/*0x608*/      union _LARGE_INTEGER IoReadTransferCount;                 // 4 elements, 0x8 bytes (sizeof)
/*0x610*/      union _LARGE_INTEGER IoWriteTransferCount;                // 4 elements, 0x8 bytes (sizeof)
/*0x618*/      union _LARGE_INTEGER IoOtherTransferCount;                // 4 elements, 0x8 bytes (sizeof)
/*0x620*/      ULONG32      CcFastMdlReadNoWait;
/*0x624*/      ULONG32      CcFastMdlReadWait;
/*0x628*/      ULONG32      CcFastMdlReadNotPossible;
/*0x62C*/      ULONG32      CcMapDataNoWait;
/*0x630*/      ULONG32      CcMapDataWait;
/*0x634*/      ULONG32      CcPinMappedDataCount;
/*0x638*/      ULONG32      CcPinReadNoWait;
/*0x63C*/      ULONG32      CcPinReadWait;
/*0x640*/      ULONG32      CcMdlReadNoWait;
/*0x644*/      ULONG32      CcMdlReadWait;
/*0x648*/      ULONG32      CcLazyWriteHotSpots;
/*0x64C*/      ULONG32      CcLazyWriteIos;
/*0x650*/      ULONG32      CcLazyWritePages;
/*0x654*/      ULONG32      CcDataFlushes;
/*0x658*/      ULONG32      CcDataPages;
/*0x65C*/      ULONG32      CcLostDelayedWrites;
/*0x660*/      ULONG32      CcFastReadResourceMiss;
/*0x664*/      ULONG32      CcCopyReadWaitMiss;
/*0x668*/      ULONG32      CcFastMdlReadResourceMiss;
/*0x66C*/      ULONG32      CcMapDataNoWaitMiss;
/*0x670*/      ULONG32      CcMapDataWaitMiss;
/*0x674*/      ULONG32      CcPinReadNoWaitMiss;
/*0x678*/      ULONG32      CcPinReadWaitMiss;
/*0x67C*/      ULONG32      CcMdlReadNoWaitMiss;
/*0x680*/      ULONG32      CcMdlReadWaitMiss;
/*0x684*/      ULONG32      CcReadAheadIos;
/*0x688*/      ULONG32      KeAlignmentFixupCount;
/*0x68C*/      ULONG32      KeExceptionDispatchCount;
/*0x690*/      ULONG32      KeSystemCalls;
/*0x694*/      ULONG32      PrcbPad2[3];
/*0x6A0*/      struct _PP_LOOKASIDE_LIST PPLookasideList[16];
/*0x720*/      struct _GENERAL_LOOKASIDE_POOL PPNPagedLookasideList[32];
/*0x1020*/     struct _GENERAL_LOOKASIDE_POOL PPPagedLookasideList[32];
/*0x1920*/     ULONG32      PacketBarrier;
/*0x1924*/     LONG32       ReverseStall;
/*0x1928*/     VOID*        IpiFrame;
/*0x192C*/     UINT8        PrcbPad3[52];
/*0x1960*/     VOID*        CurrentPacket[3];
/*0x196C*/     ULONG32      TargetSet;
/*0x1970*/     PVOID WorkerRoutine;
/*0x1974*/     ULONG32      IpiFrozen;
/*0x1978*/     UINT8        PrcbPad4[40];
/*0x19A0*/     ULONG32      RequestSummary;
/*0x19A4*/     struct _KPRCB* SignalDone;
/*0x19A8*/     UINT8        PrcbPad5[56];
/*0x19E0*/     struct _KDPC_DATA DpcData[2];
/*0x1A08*/     VOID*        DpcStack;
/*0x1A0C*/     LONG32       MaximumDpcQueueDepth;
/*0x1A10*/     ULONG32      DpcRequestRate;
/*0x1A14*/     ULONG32      MinimumDpcRate;
/*0x1A18*/     UINT8        DpcInterruptRequested;
/*0x1A19*/     UINT8        DpcThreadRequested;
/*0x1A1A*/     UINT8        DpcRoutineActive;
/*0x1A1B*/     UINT8        DpcThreadActive;
/*0x1A1C*/     ULONG32      PrcbLock;
/*0x1A20*/     ULONG32      DpcLastCount;
/*0x1A24*/     ULONG32      TimerHand;
/*0x1A28*/     ULONG32      TimerRequest;
/*0x1A2C*/     VOID*        PrcbPad41;
/*0x1A30*/     struct _KEVENT DpcEvent;                                  // 1 elements, 0x10 bytes (sizeof)
/*0x1A40*/     UINT8        ThreadDpcEnable;
/*0x1A41*/     UINT8        QuantumEnd;
/*0x1A42*/     UINT8        PrcbPad50;
/*0x1A43*/     UINT8        IdleSchedule;
/*0x1A44*/     LONG32       DpcSetEventRequest;
/*0x1A48*/     LONG32       Sleeping;
/*0x1A4C*/     ULONG32      PeriodicCount;
/*0x1A50*/     ULONG32      PeriodicBias;
/*0x1A54*/     UINT8        PrcbPad51[6];
/*0x1A5A*/     UINT8        _PADDING0_[0x2];
/*0x1A5C*/     LONG32       TickOffset;
/*0x1A60*/     struct _KDPC CallDpc;                                     // 9 elements, 0x20 bytes (sizeof)
/*0x1A80*/     LONG32       ClockKeepAlive;
/*0x1A84*/     UINT8        ClockCheckSlot;
/*0x1A85*/     UINT8        ClockPollCycle;
/*0x1A86*/     UINT8        PrcbPad6[2];
/*0x1A88*/     LONG32       DpcWatchdogPeriod;
/*0x1A8C*/     LONG32       DpcWatchdogCount;
/*0x1A90*/     LONG32       ThreadWatchdogPeriod;
/*0x1A94*/     LONG32       ThreadWatchdogCount;
/*0x1A98*/     ULONG32      PrcbPad70[2];
/*0x1AA0*/     struct _LIST_ENTRY WaitListHead;                          // 2 elements, 0x8 bytes (sizeof)
/*0x1AA8*/     ULONG32      WaitLock;
/*0x1AAC*/     ULONG32      ReadySummary;
/*0x1AB0*/     ULONG32      QueueIndex;
/*0x1AB4*/     struct _SINGLE_LIST_ENTRY DeferredReadyListHead;          // 1 elements, 0x4 bytes (sizeof)
/*0x1AB8*/     UINT64       StartCycles;
/*0x1AC0*/     UINT64       CycleTime;
/*0x1AC8*/     UINT64       PrcbPad71[3];
/*0x1AE0*/     struct _LIST_ENTRY DispatcherReadyListHead[32];
/*0x1BE0*/     VOID*        ChainedInterruptList;
/*0x1BE4*/     LONG32       LookasideIrpFloat;
/*0x1BE8*/     LONG32       MmPageFaultCount;
/*0x1BEC*/     LONG32       MmCopyOnWriteCount;
/*0x1BF0*/     LONG32       MmTransitionCount;
/*0x1BF4*/     LONG32       MmCacheTransitionCount;
/*0x1BF8*/     LONG32       MmDemandZeroCount;
/*0x1BFC*/     LONG32       MmPageReadCount;
/*0x1C00*/     LONG32       MmPageReadIoCount;
/*0x1C04*/     LONG32       MmCacheReadCount;
/*0x1C08*/     LONG32       MmCacheIoCount;
/*0x1C0C*/     LONG32       MmDirtyPagesWriteCount;
/*0x1C10*/     LONG32       MmDirtyWriteIoCount;
/*0x1C14*/     LONG32       MmMappedPagesWriteCount;
/*0x1C18*/     LONG32       MmMappedWriteIoCount;
/*0x1C1C*/     ULONG32      CachedCommit;
/*0x1C20*/     ULONG32      CachedResidentAvailable;
/*0x1C24*/     VOID*        HyperPte;
/*0x1C28*/     UINT8        CpuVendor;
/*0x1C29*/     UINT8        PrcbPad8[3];
/*0x1C2C*/     UINT8        VendorString[13];
/*0x1C39*/     UINT8        InitialApicId;
/*0x1C3A*/     UINT8        LogicalProcessorsPerPhysicalProcessor;
/*0x1C3B*/     UINT8        PrcbPad9[5];
/*0x1C40*/     ULONG32      FeatureBits;
/*0x1C44*/     UINT8        _PADDING1_[0x4];
/*0x1C48*/     union _LARGE_INTEGER UpdateSignature;                     // 4 elements, 0x8 bytes (sizeof)
/*0x1C50*/     UINT64       IsrTime;
/*0x1C58*/     UINT64       SpareField1;
/*0x1C60*/     struct _FX_SAVE_AREA NpxSaveArea;                         // 3 elements, 0x210 bytes (sizeof)
/*0x1E70*/     struct _PROCESSOR_POWER_STATE PowerState;                 // 29 elements, 0xC8 bytes (sizeof)
/*0x1F38*/     struct _KDPC DpcWatchdogDpc;                              // 9 elements, 0x20 bytes (sizeof)
/*0x1F58*/     struct _KTIMER DpcWatchdogTimer;                          // 5 elements, 0x28 bytes (sizeof)
/*0x1F80*/     VOID*        WheaInfo;
/*0x1F84*/     VOID*        EtwSupport;
/*0x1F88*/     union _SLIST_HEADER InterruptObjectPool;                  // 4 elements, 0x8 bytes (sizeof)
/*0x1F90*/     union _SLIST_HEADER HypercallPageList;                    // 4 elements, 0x8 bytes (sizeof)
/*0x1F98*/     VOID*        HypercallPageVirtual;
/*0x1F9C*/     VOID*        VirtualApicAssist;
/*0x1FA0*/     UINT64*      StatisticsPage;
/*0x1FA4*/     VOID*        RateControl;
/*0x1FA8*/     struct _CACHE_DESCRIPTOR Cache[5];
/*0x1FE4*/     ULONG32      CacheCount;
/*0x1FE8*/     ULONG32      CacheProcessorMask[5];
/*0x1FFC*/     ULONG32      PackageProcessorSet;
/*0x2000*/     ULONG32      CoreProcessorSet;
/*0x2004*/     UINT8        _PADDING2_[0x4];
           }KPRCB, *PKPRCB;
Return to structures/enums list.
Return to O.S. version list.

(c) MoonSols 2010.