x64 / ntdllntoskrnl /

_MI_HARDWARE_STATE

← 10.0.26100.32230 15 builds latest →
struct _MI_HARDWARE_STATE {
volatile unsigned long NumaHintIndex;/* 0x0 4 */
unsigned long NumaLastRangeIndexInclusive;/* 0x4 4 */
unsigned char MemoryNodeWithNoProcessorsFound;/* 0x8 1 */
unsigned char AccessBitReplacementHonored;/* 0x9 1 */
unsigned char ChannelHintIndex;/* 0xa 1 */
unsigned char ChannelLastRangeIndexInclusive;/* 0xb 1 */
/* 4 bytes padding */
/* ── cacheline 1 boundary (64 bytes) ── */
unsigned long SecondLevelCacheSize;/* 0x70 4 */
unsigned long FirstLevelCacheSize;/* 0x74 4 */
unsigned long PhysicalAddressBits;/* 0x78 4 */
unsigned long PfnDatabasePageBits;/* 0x7c 4 */
/* ── cacheline 2 boundary (128 bytes) ── */
unsigned __int64 InitialPfnAllocation;/* 0x80 8 */
unsigned __int64 TrailingPfnPages;/* 0x88 8 */
void* PfnDatabaseEnd;/* 0x90 8 */
unsigned char NumberOfChannels;/* 0x98 1 */
unsigned char ProcessorCachesFlushedOnPowerLoss;/* 0x99 1 */
unsigned char PageTableReuseRequiresFlush;/* 0x9a 1 */
/* 5 bytes padding */
unsigned __int64 TotalPagesAllowed;/* 0xa0 8 */
unsigned long FlushTbForAttributeChange;/* 0xa8 4 */
unsigned long FlushCacheForAttributeChange;/* 0xac 4 */
unsigned long FlushCacheForPageAttributeChange;/* 0xb0 4 */
unsigned long CacheFlushPromoteThreshold;/* 0xb4 4 */
/* 8 bytes padding */
/* ── cacheline 3 boundary (192 bytes) ── */
/* 48 bytes padding */
/* ── cacheline 4 boundary (256 bytes) ── */
unsigned long PageColors[4];/* 0x100 16 */
unsigned __int64 FlushTbThreshold;/* 0x110 8 */
unsigned char AttributeChangeRequiresReZero;/* 0x118 1 */
/* 7 bytes padding */
unsigned __int64 HighestPossiblePhysicalPage;/* 0x120 8 */
volatile unsigned __int64 VsmKernelPageCount;/* 0x128 8 */
volatile unsigned __int64 MdlAllocatedSecurePageCount;/* 0x130 8 */
/* ── cacheline 5 boundary (320 bytes) ── */
volatile unsigned __int64 HotAddSequenceNumber;/* 0x148 8 */
unsigned __int64 HotRemoveSequenceNumber;/* 0x150 8 */
unsigned long HotAddInFlightCount;/* 0x168 4 */
unsigned long HotAddInFlightNumaCount;/* 0x16c 4 */
/* 16 bytes padding */
/* ── cacheline 6 boundary (384 bytes) ── */
volatile long ParkedCoresLock;/* 0x180 4 */
/* 4 bytes padding */
/* ── cacheline 10 boundary (640 bytes) ── */
volatile unsigned __int64 SpecialPurposeMemoryTypeId;/* 0x2b8 8 */
/* ── cacheline 11 boundary (704 bytes) ── */
unsigned long SpecialPurposeMemoryQueryTypeExtraSpace;/* 0x2c0 4 */
unsigned char GlobalBitPolarity[2];/* 0x2c4 2 */
/* 10 bytes padding */
};
size 768 (0x300)49 members8 holes (102 bytes)padding 3212 cachelines
Used in (1)