mirror of
https://github.com/reactos/reactos.git
synced 2025-08-06 15:03:00 +00:00
[NDK][XDK] Update definition of KUSER_SHARED_DATA with tests
This commit is contained in:
parent
21d3e290b7
commit
fb8e6124e0
14 changed files with 1208 additions and 54 deletions
|
@ -577,9 +577,28 @@ typedef struct _KUSER_SHARED_DATA
|
|||
ULONG CryptoExponent; // 0x23c
|
||||
ULONG TimeZoneId; // 0x240
|
||||
ULONG LargePageMinimum; // 0x244
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONG AitSamplingValue; // 0x248
|
||||
ULONG AppCompatFlag; // 0x24c
|
||||
ULONGLONG RNGSeedVersion; // 0x250
|
||||
ULONG GlobalValidationRunlevel; // 0x258
|
||||
volatile LONG TimeZoneBiasStamp; // 0x25c
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10)
|
||||
ULONG NtBuildNumber; // 0x260
|
||||
#else
|
||||
ULONG Reserved2; // 0x260
|
||||
#endif
|
||||
#else
|
||||
ULONG Reserved2[7]; // 0x248
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN8
|
||||
|
||||
NT_PRODUCT_TYPE NtProductType; // 0x264
|
||||
BOOLEAN ProductTypeIsValid; // 0x268
|
||||
BOOLEAN Reserved0[1]; // 0x269
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
USHORT NativeProcessorArchitecture; // 0x26a
|
||||
#endif
|
||||
ULONG NtMajorVersion; // 0x26c
|
||||
ULONG NtMinorVersion; // 0x270
|
||||
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX]; // 0x274
|
||||
|
@ -587,12 +606,29 @@ typedef struct _KUSER_SHARED_DATA
|
|||
ULONG Reserved3; // 0x2b8
|
||||
volatile ULONG TimeSlip; // 0x2bc
|
||||
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture; // 0x2c0
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10)
|
||||
ULONG BootId; // 0x2c4
|
||||
#else
|
||||
ULONG AltArchitecturePad[1]; // 0x2c4
|
||||
#endif
|
||||
LARGE_INTEGER SystemExpirationDate; // 0x2c8
|
||||
ULONG SuiteMask; // 0x2d0
|
||||
BOOLEAN KdDebuggerEnabled; // 0x2d4
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
|
||||
UCHAR NXSupportPolicy; // 0x2d5
|
||||
union
|
||||
{
|
||||
UCHAR MitigationPolicies; // 0x2d5
|
||||
struct
|
||||
{
|
||||
UCHAR NXSupportPolicy : 2;
|
||||
UCHAR SEHValidationPolicy : 2;
|
||||
UCHAR CurDirDevicesSkippedForDlls : 2;
|
||||
UCHAR Reserved : 2;
|
||||
};
|
||||
};
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
|
||||
USHORT CyclesPerYield; // 0x2d6 // Win 10 19H1+
|
||||
#else
|
||||
UCHAR Reserved6[2]; // 0x2d6
|
||||
#endif
|
||||
volatile ULONG ActiveConsoleId; // 0x2d8
|
||||
volatile ULONG DismountCount; // 0x2dc
|
||||
|
@ -600,7 +636,8 @@ typedef struct _KUSER_SHARED_DATA
|
|||
ULONG LastSystemRITEventTickCount; // 0x2e4
|
||||
ULONG NumberOfPhysicalPages; // 0x2e8
|
||||
BOOLEAN SafeBootMode; // 0x2ec
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
|
||||
#if (NTDDI_VERSION == NTDDI_WIN7)
|
||||
union
|
||||
{
|
||||
UCHAR TscQpcData; // 0x2ed
|
||||
|
@ -612,31 +649,71 @@ typedef struct _KUSER_SHARED_DATA
|
|||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
UCHAR TscQpcPad[2]; // 0x2ee
|
||||
#elif (NTDDI_VERSION >= NTDDI_WIN10_RS1)
|
||||
union
|
||||
{
|
||||
UCHAR VirtualizationFlags; // 0x2ed
|
||||
#if defined(_ARM64_)
|
||||
struct
|
||||
{
|
||||
UCHAR ArchStartedInEl2 : 1;
|
||||
UCHAR QcSlIsSupported : 1;
|
||||
UCHAR : 6;
|
||||
};
|
||||
#endif
|
||||
};
|
||||
UCHAR Reserved12[2]; // 0x2ee
|
||||
#else
|
||||
UCHAR Reserved12[3]; // 0x2ed
|
||||
#endif // NTDDI_VERSION == NTDDI_WIN7
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
union
|
||||
{
|
||||
ULONG SharedDataFlags; // 0x2f0
|
||||
struct
|
||||
{
|
||||
ULONG DbgErrorPortPresent:1; // 0x2f0
|
||||
ULONG DbgElevationEnabled:1; // 0x2f0
|
||||
ULONG DbgVirtEnabled:1; // 0x2f0
|
||||
ULONG DbgInstallerDetectEnabled:1; // 0x2f0
|
||||
ULONG DbgSystemDllRelocated:1; // 0x2f0
|
||||
ULONG DbgDynProcessorEnabled:1; // 0x2f0
|
||||
ULONG DbgSEHValidationEnabled:1; // 0x2f0
|
||||
ULONG SpareBits:25; // 0x2f0
|
||||
ULONG DbgErrorPortPresent : 1; // 0x2f0
|
||||
ULONG DbgElevationEnabled : 1; // 0x2f0
|
||||
ULONG DbgVirtEnabled : 1; // 0x2f0
|
||||
ULONG DbgInstallerDetectEnabled : 1; // 0x2f0
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONG DbgLkgEnabled : 1; // 0x2f0
|
||||
#else
|
||||
ULONG DbgSystemDllRelocated : 1; // 0x2f0
|
||||
#endif
|
||||
ULONG DbgDynProcessorEnabled : 1; // 0x2f0
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONG DbgConsoleBrokerEnabled : 1; // 0x2f0
|
||||
#else
|
||||
ULONG DbgSEHValidationEnabled : 1; // 0x2f0
|
||||
#endif
|
||||
ULONG DbgSecureBootEnabled : 1; // 0x2f0 Win8+
|
||||
ULONG DbgMultiSessionSku : 1; // 0x2f0 Win 10+
|
||||
ULONG DbgMultiUsersInSessionSku : 1; // 0x2f0 Win 10 RS1+
|
||||
ULONG DbgStateSeparationEnabled : 1; // 0x2f0 Win 10 RS3+
|
||||
ULONG SpareBits : 21; // 0x2f0
|
||||
} DUMMYSTRUCTNAME2;
|
||||
} DUMMYUNIONNAME2;
|
||||
#else
|
||||
ULONG TraceLogging;
|
||||
#endif
|
||||
#endif // NTDDI_VERSION >= NTDDI_VISTA
|
||||
|
||||
ULONG DataFlagsPad[1]; // 0x2f4
|
||||
ULONGLONG TestRetInstruction; // 0x2f8
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONGLONG QpcFrequency; // 0x300
|
||||
#else
|
||||
ULONG SystemCall; // 0x300
|
||||
ULONG SystemCallReturn; // 0x304
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_TH2)
|
||||
ULONG SystemCall; // 0x308
|
||||
ULONG SystemCallPad0; // 0x30c Renamed to Reserved2 in Vibranium R3
|
||||
ULONGLONG SystemCallPad[2]; // 0x310
|
||||
#else
|
||||
ULONGLONG SystemCallPad[3]; // 0x308
|
||||
#endif
|
||||
union
|
||||
{
|
||||
volatile KSYSTEM_TIME TickCount; // 0x320
|
||||
|
@ -648,14 +725,53 @@ typedef struct _KUSER_SHARED_DATA
|
|||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME3;
|
||||
ULONG Cookie; // 0x330
|
||||
|
||||
#if (NTDDI_VERSION < NTDDI_VISTA)
|
||||
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x334
|
||||
#endif
|
||||
|
||||
//
|
||||
// Windows Vista and later
|
||||
//
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
ULONG CookiePad[1]; // 0x334
|
||||
LONGLONG ConsoleSessionForegroundProcessId; // 0x338
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
#if (NTDDI_VERSION >= NTDDI_WINBLUE)
|
||||
ULONGLONG TimeUpdateLock; // 0x340
|
||||
#else
|
||||
ULONGLONG TimeUpdateSequence; // 0x340
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 2K3: 0x334 / Vista+: 0x340
|
||||
ULONGLONG BaselineSystemTimeQpc; // 0x348
|
||||
ULONGLONG BaselineInterruptTimeQpc; // 0x350
|
||||
ULONGLONG QpcSystemTimeIncrement; // 0x358
|
||||
ULONGLONG QpcInterruptTimeIncrement; // 0x360
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10)
|
||||
UCHAR QpcSystemTimeIncrementShift; // 0x368
|
||||
UCHAR QpcInterruptTimeIncrementShift; // 0x369
|
||||
USHORT UnparkedProcessorCount; // 0x36a
|
||||
ULONG EnclaveFeatureMask[4]; // 0x36c Win 10 TH2+
|
||||
ULONG TelemetryCoverageRound; // 0x37c Win 10 RS2+
|
||||
#else // NTDDI_VERSION < NTDDI_WIN10
|
||||
ULONG QpcSystemTimeIncrement32; // 0x368
|
||||
ULONG QpcInterruptTimeIncrement32; // 0x36c
|
||||
UCHAR QpcSystemTimeIncrementShift; // 0x370
|
||||
UCHAR QpcInterruptTimeIncrementShift; // 0x371
|
||||
#if (NTDDI_VERSION >= NTDDI_WINBLUE)
|
||||
USHORT UnparkedProcessorCount; // 0x372
|
||||
UCHAR Reserved8[12]; // 0x374
|
||||
#else
|
||||
UCHAR Reserved8[14]; // 0x372
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
#endif // NTDDI_VERSION < NTDDI_WIN10
|
||||
#elif (NTDDI_VERSION >= NTDDI_VISTASP2)
|
||||
ULONG DEPRECATED_Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x340
|
||||
#else
|
||||
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x340
|
||||
#endif // NTDDI_VERSION >= NTDDI_VISTA
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
USHORT UserModeGlobalLogger[16]; // 0x380
|
||||
#else
|
||||
|
@ -663,27 +779,74 @@ typedef struct _KUSER_SHARED_DATA
|
|||
ULONG HeapTracingPid[2]; // 0x390
|
||||
ULONG CritSecTracingPid[2]; // 0x398
|
||||
#endif
|
||||
|
||||
ULONG ImageFileExecutionOptions; // 0x3a0
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTASP1)
|
||||
ULONG LangGenerationCount; // 0x3a4
|
||||
#else
|
||||
/* 4 bytes padding */
|
||||
#endif
|
||||
ULONG LangGenerationCount; // 0x3a4 Vista SP2+
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONGLONG Reserved4; // 0x3a8
|
||||
#elif (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
ULONGLONG Reserved5; // 0x3a8
|
||||
volatile ULONG64 InterruptTimeBias; // 0x3b0
|
||||
#else
|
||||
union
|
||||
{
|
||||
KAFFINITY ActiveProcessorAffinity; // 0x3a8
|
||||
ULONGLONG AffinityPad; // 0x3a8
|
||||
};
|
||||
#endif
|
||||
|
||||
volatile ULONGLONG InterruptTimeBias; // 0x3b0
|
||||
#endif // NTDDI_VERSION >= NTDDI_VISTA
|
||||
|
||||
//
|
||||
// Windows 7 and later
|
||||
//
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
volatile ULONG64 TscQpcBias; // 0x3b8
|
||||
volatile ULONG ActiveProcessorCount; // 0x3c0
|
||||
volatile USHORT ActiveGroupCount; // 0x3c4
|
||||
volatile ULONGLONG QpcBias; // 0x3b8 // Win7: TscQpcBias
|
||||
/* volatile */ ULONG ActiveProcessorCount; // 0x3c0 // not volatile since Win 8.1 Update 1
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
volatile UCHAR ActiveGroupCount; // 0x3c4
|
||||
UCHAR Reserved9; // 0x3c5
|
||||
union
|
||||
{
|
||||
USHORT QpcData; // 0x3c6
|
||||
struct
|
||||
{
|
||||
volatile UCHAR QpcBypassEnabled; // 0x3c6
|
||||
UCHAR QpcShift; // 0x3c7
|
||||
};
|
||||
};
|
||||
LARGE_INTEGER TimeZoneBiasEffectiveStart; // 0x3c8
|
||||
LARGE_INTEGER TimeZoneBiasEffectiveEnd; // 0x3d0
|
||||
XSTATE_CONFIGURATION XState; // 0x3d8
|
||||
#else
|
||||
USHORT ActiveGroupCount; // 0x3c4
|
||||
USHORT Reserved4; // 0x3c6
|
||||
volatile ULONG AitSamplingValue; // 0x3c8
|
||||
volatile ULONG AppCompatFlag; // 0x3cc
|
||||
ULONGLONG SystemDllNativeRelocation; // 0x3d0
|
||||
ULONG SystemDllWowRelocation; // 0x3d8
|
||||
ULONGLONG SystemDllNativeRelocation; // 0x3d0 deprecated in Win7 SP2
|
||||
ULONG SystemDllWowRelocation; // 0x3d8 deprecated in Win7 SP2
|
||||
ULONG XStatePad[1]; // 0x3dc
|
||||
XSTATE_CONFIGURATION XState; // 0x3e0
|
||||
#endif
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN8
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN7
|
||||
|
||||
//
|
||||
// Windows 10 Vibranium and later
|
||||
//
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
|
||||
KSYSTEM_TIME FeatureConfigurationChangeStamp; // 0x710 // Win 11: 0x720
|
||||
ULONG Spare; // 0x71c // Win 11: 0x72c
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN10_VB
|
||||
|
||||
//
|
||||
// Windows 11 Nickel and later
|
||||
//
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN11_NI)
|
||||
ULONG64 UserPointerAuthMask; // 0x730
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN11_NI
|
||||
|
||||
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
|
||||
|
||||
//
|
||||
|
|
|
@ -327,3 +327,99 @@ C_ASSERT_FIELD(TEB32, 0xfe0, ULONG, ResourceRetValue)
|
|||
C_ASSERT_FIELD(TEB32, 0xFE4, ULONG, ReservedForWdf)
|
||||
C_ASSERT_FIELD(TEB32, 0xFE8, ULONG64, ReservedForCrt)
|
||||
C_ASSERT_FIELD(TEB32, 0xFF0, GUID, EffectiveContainerId)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG, AitSamplingValue)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x24C, ULONG, AppCompatFlag)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x250, ULONGLONG, RNGSeedVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x258, ULONG, GlobalValidationRunlevel)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x25C, LONG, TimeZoneBiasStamp)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x260, ULONG, NtBuildNumber)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x269, UCHAR[1], Reserved0)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26A, USHORT, NativeProcessorArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C4, ULONG, BootId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D6, USHORT, CyclesPerYield)
|
||||
#endif
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2ED, UCHAR, VirtualizationFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EE, UCHAR[2], Reserved12)
|
||||
#endif
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F4, ULONG[1], DataFlagsPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, LONGLONG, QpcFrequency)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_TH2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x308, ULONG, SystemCall)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x30C, ULONG, Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x310, ULONGLONG[2], SystemCallPad)
|
||||
#endif
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONG[3], ReservedTickCountOverlay)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x32C, ULONG[1], TickCountPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x334, ULONG[1], CookiePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, LONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, ULONGLONG, TimeUpdateLock)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x348, ULONGLONG, BaselineSystemTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x350, ULONGLONG, BaselineInterruptTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x358, ULONGLONG, QpcSystemTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x360, ULONGLONG, QpcInterruptTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x368, UCHAR, QpcSystemTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x369, UCHAR, QpcInterruptTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x36A, UINT16, UnparkedProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x36C, ULONG[4], EnclaveFeatureMask)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_RS3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x37C, ULONG, TelemetryCoverageRound)
|
||||
#endif
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[16], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, Reserved4)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B8, ULONGLONG, QpcBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C0, ULONG, ActiveProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C4, UCHAR, ActiveGroupCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C5, UCHAR, Reserved9)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, USHORT, QpcData)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, BOOLEAN, QpcBypassEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C7, UCHAR, QpcShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C8, LARGE_INTEGER, TimeZoneBiasEffectiveStart)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D0, LARGE_INTEGER, TimeZoneBiasEffectiveEnd)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D8, XSTATE_CONFIGURATION, XState)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x710, KSYSTEM_TIME, FeatureConfigurationChangeStamp)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x71C, ULONG32, Spare)
|
||||
#endif
|
||||
|
|
|
@ -210,3 +210,99 @@ C_ASSERT_FIELD(TEB, 0xfe0, ULONG, ResourceRetValue)
|
|||
C_ASSERT_FIELD(TEB, 0xFE4, ULONG, ReservedForWdf)
|
||||
C_ASSERT_FIELD(TEB, 0xFE8, ULONG64, ReservedForCrt)
|
||||
C_ASSERT_FIELD(TEB, 0xFF0, GUID, EffectiveContainerId)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG, AitSamplingValue)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x24C, ULONG, AppCompatFlag)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x250, ULONGLONG, RNGSeedVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x258, ULONG, GlobalValidationRunlevel)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x25C, LONG, TimeZoneBiasStamp)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x260, ULONG, NtBuildNumber)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x269, UCHAR[1], Reserved0)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26A, USHORT, NativeProcessorArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C4, ULONG, BootId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D6, USHORT, CyclesPerYield)
|
||||
#endif
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_RS1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2ED, UCHAR, VirtualizationFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EE, UCHAR[2], Reserved12)
|
||||
#endif
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F4, ULONG[1], DataFlagsPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, LONGLONG, QpcFrequency)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_TH2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x308, ULONG, SystemCall)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x30C, ULONG, Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x310, ULONGLONG[2], SystemCallPad)
|
||||
#endif
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONG[3], ReservedTickCountOverlay)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x32C, ULONG[1], TickCountPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x334, ULONG[1], CookiePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, LONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, ULONGLONG, TimeUpdateLock)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x348, ULONGLONG, BaselineSystemTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x350, ULONGLONG, BaselineInterruptTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x358, ULONGLONG, QpcSystemTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x360, ULONGLONG, QpcInterruptTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x368, UCHAR, QpcSystemTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x369, UCHAR, QpcInterruptTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x36A, UINT16, UnparkedProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x36C, ULONG[4], EnclaveFeatureMask)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_RS3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x37C, ULONG, TelemetryCoverageRound)
|
||||
#endif
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[16], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, Reserved4)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B8, ULONGLONG, QpcBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C0, ULONG, ActiveProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C4, UCHAR, ActiveGroupCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C5, UCHAR, Reserved9)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, USHORT, QpcData)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, BOOLEAN, QpcBypassEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C7, UCHAR, QpcShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C8, LARGE_INTEGER, TimeZoneBiasEffectiveStart)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D0, LARGE_INTEGER, TimeZoneBiasEffectiveEnd)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D8, XSTATE_CONFIGURATION, XState)
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x710, KSYSTEM_TIME, FeatureConfigurationChangeStamp)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x71C, ULONG32, Spare)
|
||||
#endif
|
||||
|
|
|
@ -193,3 +193,43 @@ C_ASSERT_FIELD(TEB, 0x17C0, PTEB_ACTIVE_FRAME, ActiveFrame)
|
|||
C_ASSERT_FIELD(TEB, 0x17C8, PVOID, FlsData)
|
||||
C_ASSERT_FIELD(TEB, 0x17D0, UCHAR, SafeThunkCall)
|
||||
C_ASSERT_FIELD(TEB, 0x17D1, UCHAR[3], BooleanSpare)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG[7], Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies) // NXSupportPolicy
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, TraceLogging)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, ULONG, SystemCall)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x304, ULONG, SystemCallReturn)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
|
|
|
@ -157,3 +157,43 @@ C_ASSERT_FIELD(TEB, 0xFB0, PTEB_ACTIVE_FRAME, ActiveFrame)
|
|||
C_ASSERT_FIELD(TEB, 0xFB4, PVOID, FlsData)
|
||||
C_ASSERT_FIELD(TEB, 0xFB8, UCHAR, SafeThunkCall)
|
||||
C_ASSERT_FIELD(TEB, 0xFB9, UCHAR[3], BooleanSpare)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG[7], Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies) // NXSupportPolicy
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, TraceLogging)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, ULONG, SystemCall)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x304, ULONG, SystemCallReturn)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
|
|
|
@ -112,3 +112,69 @@ C_ASSERT_FIELD(KTHREAD, 0x340, LONG64, WriteTransferCount)
|
|||
C_ASSERT_FIELD(KTHREAD, 0x348, LONG64, OtherTransferCount)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x350, KTHREAD_COUNTERS*, ThreadCounters)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x358, XSTATE_SAVE*, XStateSave)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG[7], Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C4, ULONG[1], AltArchitecturePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies) // NXSupportPolicy
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2ED, UCHAR, TscQpcData)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EE, UCHAR[2], TscQpcPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F4, ULONG[1], DataFlagsPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, ULONG, SystemCall)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x304, ULONG, SystemCallReturn)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x308, ULONGLONG[3], SystemCallPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONG[3], ReservedTickCountOverlay)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x32C, ULONG[1], TickCountPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x334, ULONG[1], CookiePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, ULONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, ULONG[16], DEPRECATED_Wow64SharedInformation)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[16], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, Reserved5)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B8, ULONGLONG, QpcBias) // TscQpcBias
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C0, ULONG, ActiveProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C4, USHORT, ActiveGroupCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, USHORT, Reserved4)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C8, ULONG, AitSamplingValue)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3CC, ULONG, AppCompatFlag)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D0, ULONGLONG, SystemDllNativeRelocation)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D8, ULONG, SystemDllWowRelocation)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3DC, ULONG[1], XStatePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3E0, XSTATE_CONFIGURATION, XState)
|
||||
|
|
|
@ -100,3 +100,69 @@ C_ASSERT_FIELD(KTHREAD, 0x1E8, LIST_ENTRY, MutantListHead)
|
|||
C_ASSERT_FIELD(KTHREAD, 0x1F0, PVOID, SListFaultAddress)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x1F4, KTHREAD_COUNTERS*, ThreadCounters)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x1F8, XSTATE_SAVE*, XStateSave)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG[7], Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C4, ULONG[1], AltArchitecturePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies) // NXSupportPolicy
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2ED, UCHAR, TscQpcData)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EE, UCHAR[2], TscQpcPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F4, ULONG[1], DataFlagsPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, ULONG, SystemCall)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x304, ULONG, SystemCallReturn)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x308, ULONGLONG[3], SystemCallPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONG[3], ReservedTickCountOverlay)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x32C, ULONG[1], TickCountPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x334, ULONG[1], CookiePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, ULONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, ULONG[16], DEPRECATED_Wow64SharedInformation)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[16], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, Reserved5)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B8, ULONGLONG, QpcBias) // TscQpcBias
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C0, ULONG, ActiveProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C4, USHORT, ActiveGroupCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, USHORT, Reserved4)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C8, ULONG, AitSamplingValue)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3CC, ULONG, AppCompatFlag)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D0, ULONGLONG, SystemDllNativeRelocation)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D8, ULONG, SystemDllWowRelocation)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3DC, ULONG[1], XStatePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3E0, XSTATE_CONFIGURATION, XState)
|
||||
|
|
|
@ -136,3 +136,85 @@ C_ASSERT_FIELD(KTHREAD, 0x5B8, LONG64, ReadTransferCount)
|
|||
C_ASSERT_FIELD(KTHREAD, 0x5C0, LONG64, WriteTransferCount)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x5C8, LONG64, OtherTransferCount)
|
||||
#endif
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG, AitSamplingValue)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x24C, ULONG, AppCompatFlag)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x250, ULONGLONG, RNGSeedVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x258, ULONG, GlobalValidationRunlevel)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x25C, LONG, TimeZoneBiasStamp)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x260, ULONG, Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x269, UCHAR[1], Reserved0)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26A, USHORT, NativeProcessorArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C4, ULONG[1], AltArchitecturePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D6, UCHAR[2], Reserved6)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2ED, UCHAR[3], Reserved12)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F4, ULONG[1], DataFlagsPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, LONGLONG, QpcFrequency)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x308, ULONGLONG[3], SystemCallPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONG[3], ReservedTickCountOverlay)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x32C, ULONG[1], TickCountPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x334, ULONG[1], CookiePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, LONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, LONGLONG, TimeUpdateLock)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x348, ULONGLONG, BaselineSystemTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x350, ULONGLONG, BaselineInterruptTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x358, ULONGLONG, QpcSystemTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x360, ULONGLONG, QpcInterruptTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x368, ULONG, QpcSystemTimeIncrement32)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x36C, ULONG, QpcInterruptTimeIncrement32)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x370, UCHAR, QpcSystemTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x371, UCHAR, QpcInterruptTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x372, USHORT, UnparkedProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x374, UCHAR[12], Reserved8)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[16], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, Reserved4)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B8, ULONGLONG, QpcBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C0, ULONG, ActiveProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C4, UCHAR, ActiveGroupCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C5, UCHAR, Reserved9)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, USHORT, QpcData)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, BOOLEAN, QpcBypassEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C7, UCHAR, QpcShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C8, LARGE_INTEGER, TimeZoneBiasEffectiveStart)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D0, LARGE_INTEGER, TimeZoneBiasEffectiveEnd)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D8, XSTATE_CONFIGURATION, XState)
|
||||
|
|
|
@ -122,3 +122,85 @@ C_ASSERT_FIELD(KTHREAD, 0x32C, ULONG, ForegroundLossTime)
|
|||
C_ASSERT_FIELD(KTHREAD, 0x330, LIST_ENTRY, GlobalForegroundListEntry)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x330, SINGLE_LIST_ENTRY, ForegroundDpcStackListEntry)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x334, ULONG, InGlobalForegroundList)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG, AitSamplingValue)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x24C, ULONG, AppCompatFlag)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x250, ULONGLONG, RNGSeedVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x258, ULONG, GlobalValidationRunlevel)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x25C, LONG, TimeZoneBiasStamp)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x260, ULONG, Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x269, UCHAR[1], Reserved0)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26A, USHORT, NativeProcessorArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C4, ULONG[1], AltArchitecturePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D6, UCHAR[2], Reserved6)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2ED, UCHAR[3], Reserved12)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F4, ULONG[1], DataFlagsPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, LONGLONG, QpcFrequency)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x308, ULONGLONG[3], SystemCallPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONG[3], ReservedTickCountOverlay)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x32C, ULONG[1], TickCountPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x334, ULONG[1], CookiePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, LONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, LONGLONG, TimeUpdateLock)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x348, ULONGLONG, BaselineSystemTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x350, ULONGLONG, BaselineInterruptTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x358, ULONGLONG, QpcSystemTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x360, ULONGLONG, QpcInterruptTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x368, ULONG, QpcSystemTimeIncrement32)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x36C, ULONG, QpcInterruptTimeIncrement32)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x370, UCHAR, QpcSystemTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x371, UCHAR, QpcInterruptTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x372, USHORT, UnparkedProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x374, UCHAR[12], Reserved8)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[16], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, Reserved4)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B8, ULONGLONG, QpcBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C0, ULONG, ActiveProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C4, UCHAR, ActiveGroupCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C5, UCHAR, Reserved9)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, USHORT, QpcData)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, BOOLEAN, QpcBypassEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C7, UCHAR, QpcShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C8, LARGE_INTEGER, TimeZoneBiasEffectiveStart)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D0, LARGE_INTEGER, TimeZoneBiasEffectiveEnd)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D8, XSTATE_CONFIGURATION, XState)
|
||||
|
|
|
@ -100,3 +100,82 @@ C_ASSERT_FIELD(KTHREAD, 0x328, LONG64, OtherOperationCount)
|
|||
C_ASSERT_FIELD(KTHREAD, 0x330, LONG64, ReadTransferCount)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x338, LONG64, WriteTransferCount)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x340, LONG64, OtherTransferCount)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG, AitSamplingValue)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x24C, ULONG, AppCompatFlag)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x250, ULONGLONG, RNGSeedVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x258, ULONG, GlobalValidationRunlevel)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x25C, LONG, TimeZoneBiasStamp)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x260, ULONG, Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x269, UCHAR[1], Reserved0)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26A, USHORT, NativeProcessorArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C4, ULONG[1], AltArchitecturePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D6, UCHAR[2], Reserved6)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2ED, UCHAR[3], Reserved12)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F4, ULONG[1], DataFlagsPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, LONGLONG, QpcFrequency)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x308, ULONGLONG[3], SystemCallPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONG[3], ReservedTickCountOverlay)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x32C, ULONG[1], TickCountPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x334, ULONG[1], CookiePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, ULONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, ULONGLONG, TimeUpdateSequence)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x348, ULONGLONG, BaselineSystemTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x350, ULONGLONG, BaselineInterruptTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x358, ULONGLONG, QpcSystemTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x360, ULONGLONG, QpcInterruptTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x368, ULONG, QpcSystemTimeIncrement32)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x36C, ULONG, QpcInterruptTimeIncrement32)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x370, UCHAR, QpcSystemTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x371, UCHAR, QpcInterruptTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x372, UCHAR[14], Reserved8)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[16], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, Reserved4)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B8, ULONGLONG, QpcBias) // TscQpcBias
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C0, ULONG, ActiveProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C4, UCHAR, ActiveGroupCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C5, UCHAR, Reserved9)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, USHORT, QpcData) // TscQpcData
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C8, LARGE_INTEGER, TimeZoneBiasEffectiveStart)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D0, LARGE_INTEGER, TimeZoneBiasEffectiveEnd)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D8, XSTATE_CONFIGURATION, XState)
|
||||
|
|
|
@ -91,3 +91,82 @@ C_ASSERT_FIELD(KTHREAD, 0x1C0, ULONG, UserTime)
|
|||
C_ASSERT_FIELD(KTHREAD, 0x1C4, KEVENT, SuspendEvent)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x1D4, LIST_ENTRY, ThreadListEntry)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x1DC, LIST_ENTRY, MutantListHead)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG, AitSamplingValue)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x24C, ULONG, AppCompatFlag)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x250, ULONGLONG, RNGSeedVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x258, ULONG, GlobalValidationRunlevel)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x25C, LONG, TimeZoneBiasStamp)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x260, ULONG, Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x269, UCHAR[1], Reserved0)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26A, USHORT, NativeProcessorArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C4, ULONG[1], AltArchitecturePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D6, UCHAR[2], Reserved6)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2ED, UCHAR[3], Reserved12)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F4, ULONG[1], DataFlagsPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, LONGLONG, QpcFrequency)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x308, ULONGLONG[3], SystemCallPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONG[3], ReservedTickCountOverlay)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x32C, ULONG[1], TickCountPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x334, ULONG[1], CookiePad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, ULONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, ULONGLONG, TimeUpdateSequence)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x348, ULONGLONG, BaselineSystemTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x350, ULONGLONG, BaselineInterruptTimeQpc)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x358, ULONGLONG, QpcSystemTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x360, ULONGLONG, QpcInterruptTimeIncrement)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x368, ULONG, QpcSystemTimeIncrement32)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x36C, ULONG, QpcInterruptTimeIncrement32)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x370, UCHAR, QpcSystemTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x371, UCHAR, QpcInterruptTimeIncrementShift)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x372, UCHAR[14], Reserved8)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[16], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, Reserved4)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B8, ULONGLONG, QpcBias) // TscQpcBias
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C0, ULONG, ActiveProcessorCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C4, UCHAR, ActiveGroupCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C5, UCHAR, Reserved9)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C6, USHORT, QpcData) // TscQpcData
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3C8, LARGE_INTEGER, TimeZoneBiasEffectiveStart)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D0, LARGE_INTEGER, TimeZoneBiasEffectiveEnd)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3D8, XSTATE_CONFIGURATION, XState)
|
||||
|
|
|
@ -116,3 +116,54 @@ C_ASSERT_FIELD(KTHREAD, 0x310, LONG64, ReadTransferCount)
|
|||
C_ASSERT_FIELD(KTHREAD, 0x318, LONG64, WriteTransferCount)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x320, LONG64, OtherTransferCount)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x328, PVOID, MdlForLockedTeb)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG[7], Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies) // NXSupportPolicy
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, ULONG, SystemCall)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x304, ULONG, SystemCallReturn)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, ULONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, ULONG[16], Wow64SharedInformation)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[8], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x390, ULONG[2], HeapTracingPid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x398, ULONG[2], CritSecTracingPid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, AffinityPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, KAFFINITY, ActiveProcessorAffinity)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
|
|
|
@ -108,3 +108,54 @@ C_ASSERT_FIELD(KTHREAD, 0x1C4, LIST_ENTRY, ThreadListEntry)
|
|||
C_ASSERT_FIELD(KTHREAD, 0x1CC, LIST_ENTRY, MutantListHead)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x1D4, PVOID, SListFaultAddress)
|
||||
C_ASSERT_FIELD(KTHREAD, 0x1D8, PVOID, MdlForLockedTeb)
|
||||
|
||||
/* KUSER_SHARED_DATA */
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x000, ULONG, TickCountLowDeprecated)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x004, ULONG, TickCountMultiplier)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x008, KSYSTEM_TIME, InterruptTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x014, KSYSTEM_TIME, SystemTime)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x020, KSYSTEM_TIME, TimeZoneBias)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02C, USHORT, ImageNumberLow)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x02E, USHORT, ImageNumberHigh)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x030, WCHAR[260], NtSystemRoot)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x238, ULONG, MaxStackTraceDepth)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x23C, ULONG, CryptoExponent)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x240, ULONG, TimeZoneId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x244, ULONG, LargePageMinimum)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x248, ULONG[7], Reserved2)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x264, NT_PRODUCT_TYPE, NtProductType)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x268, BOOLEAN, ProductTypeIsValid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x26C, ULONG, NtMajorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x270, ULONG, NtMinorVersion)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x274, BOOLEAN[64], ProcessorFeatures)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B4, ULONG, Reserved1)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2B8, ULONG, Reserved3)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2BC, ULONG, TimeSlip)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C0, ALTERNATIVE_ARCHITECTURE_TYPE, AlternativeArchitecture)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2C8, LARGE_INTEGER, SystemExpirationDate)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D0, ULONG, SuiteMask)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D4, BOOLEAN, KdDebuggerEnabled)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D5, UCHAR, MitigationPolicies) // NXSupportPolicy
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2D8, ULONG, ActiveConsoleId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2DC, ULONG, DismountCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E0, ULONG, ComPlusPackage)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E4, ULONG, LastSystemRITEventTickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2E8, ULONG, NumberOfPhysicalPages)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2EC, BOOLEAN, SafeBootMode)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F0, ULONG, SharedDataFlags)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x2F8, ULONGLONG, TestRetInstruction)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x300, ULONG, SystemCall)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x304, ULONG, SystemCallReturn)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, KSYSTEM_TIME, TickCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x320, ULONGLONG, TickCountQuad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x330, ULONG, Cookie)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x338, ULONGLONG, ConsoleSessionForegroundProcessId)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x340, ULONG[16], Wow64SharedInformation)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x380, USHORT[8], UserModeGlobalLogger)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x390, ULONG[2], HeapTracingPid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x398, ULONG[2], CritSecTracingPid)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A0, ULONG, ImageFileExecutionOptions)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A4, ULONG, LangGenerationCount)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, ULONGLONG, AffinityPad)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3A8, KAFFINITY, ActiveProcessorAffinity)
|
||||
C_ASSERT_FIELD(KUSER_SHARED_DATA, 0x3B0, ULONGLONG, InterruptTimeBias)
|
||||
|
|
|
@ -1281,9 +1281,28 @@ typedef struct _KUSER_SHARED_DATA
|
|||
ULONG CryptoExponent; // 0x23c
|
||||
ULONG TimeZoneId; // 0x240
|
||||
ULONG LargePageMinimum; // 0x244
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONG AitSamplingValue; // 0x248
|
||||
ULONG AppCompatFlag; // 0x24c
|
||||
ULONGLONG RNGSeedVersion; // 0x250
|
||||
ULONG GlobalValidationRunlevel; // 0x258
|
||||
volatile LONG TimeZoneBiasStamp; // 0x25c
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10)
|
||||
ULONG NtBuildNumber; // 0x260
|
||||
#else
|
||||
ULONG Reserved2; // 0x260
|
||||
#endif
|
||||
#else
|
||||
ULONG Reserved2[7]; // 0x248
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN8
|
||||
|
||||
NT_PRODUCT_TYPE NtProductType; // 0x264
|
||||
BOOLEAN ProductTypeIsValid; // 0x268
|
||||
BOOLEAN Reserved0[1]; // 0x269
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
USHORT NativeProcessorArchitecture; // 0x26a
|
||||
#endif
|
||||
ULONG NtMajorVersion; // 0x26c
|
||||
ULONG NtMinorVersion; // 0x270
|
||||
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX]; // 0x274
|
||||
|
@ -1291,12 +1310,29 @@ typedef struct _KUSER_SHARED_DATA
|
|||
ULONG Reserved3; // 0x2b8
|
||||
volatile ULONG TimeSlip; // 0x2bc
|
||||
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture; // 0x2c0
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10)
|
||||
ULONG BootId; // 0x2c4
|
||||
#else
|
||||
ULONG AltArchitecturePad[1]; // 0x2c4
|
||||
#endif
|
||||
LARGE_INTEGER SystemExpirationDate; // 0x2c8
|
||||
ULONG SuiteMask; // 0x2d0
|
||||
BOOLEAN KdDebuggerEnabled; // 0x2d4
|
||||
#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
|
||||
UCHAR NXSupportPolicy; // 0x2d5
|
||||
union
|
||||
{
|
||||
UCHAR MitigationPolicies; // 0x2d5
|
||||
struct
|
||||
{
|
||||
UCHAR NXSupportPolicy : 2;
|
||||
UCHAR SEHValidationPolicy : 2;
|
||||
UCHAR CurDirDevicesSkippedForDlls : 2;
|
||||
UCHAR Reserved : 2;
|
||||
};
|
||||
};
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
|
||||
USHORT CyclesPerYield; // 0x2d6 // Win 10 19H1+
|
||||
#else
|
||||
UCHAR Reserved6[2]; // 0x2d6
|
||||
#endif
|
||||
volatile ULONG ActiveConsoleId; // 0x2d8
|
||||
volatile ULONG DismountCount; // 0x2dc
|
||||
|
@ -1304,7 +1340,8 @@ typedef struct _KUSER_SHARED_DATA
|
|||
ULONG LastSystemRITEventTickCount; // 0x2e4
|
||||
ULONG NumberOfPhysicalPages; // 0x2e8
|
||||
BOOLEAN SafeBootMode; // 0x2ec
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
|
||||
#if (NTDDI_VERSION == NTDDI_WIN7)
|
||||
union
|
||||
{
|
||||
UCHAR TscQpcData; // 0x2ed
|
||||
|
@ -1316,31 +1353,71 @@ typedef struct _KUSER_SHARED_DATA
|
|||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME;
|
||||
UCHAR TscQpcPad[2]; // 0x2ee
|
||||
#elif (NTDDI_VERSION >= NTDDI_WIN10_RS1)
|
||||
union
|
||||
{
|
||||
UCHAR VirtualizationFlags; // 0x2ed
|
||||
#if defined(_ARM64_)
|
||||
struct
|
||||
{
|
||||
UCHAR ArchStartedInEl2 : 1;
|
||||
UCHAR QcSlIsSupported : 1;
|
||||
UCHAR : 6;
|
||||
};
|
||||
#endif
|
||||
};
|
||||
UCHAR Reserved12[2]; // 0x2ee
|
||||
#else
|
||||
UCHAR Reserved12[3]; // 0x2ed
|
||||
#endif // NTDDI_VERSION == NTDDI_WIN7
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
union
|
||||
{
|
||||
ULONG SharedDataFlags; // 0x2f0
|
||||
struct
|
||||
{
|
||||
ULONG DbgErrorPortPresent:1; // 0x2f0
|
||||
ULONG DbgElevationEnabled:1; // 0x2f0
|
||||
ULONG DbgVirtEnabled:1; // 0x2f0
|
||||
ULONG DbgInstallerDetectEnabled:1; // 0x2f0
|
||||
ULONG DbgSystemDllRelocated:1; // 0x2f0
|
||||
ULONG DbgDynProcessorEnabled:1; // 0x2f0
|
||||
ULONG DbgSEHValidationEnabled:1; // 0x2f0
|
||||
ULONG SpareBits:25; // 0x2f0
|
||||
ULONG DbgErrorPortPresent : 1; // 0x2f0
|
||||
ULONG DbgElevationEnabled : 1; // 0x2f0
|
||||
ULONG DbgVirtEnabled : 1; // 0x2f0
|
||||
ULONG DbgInstallerDetectEnabled : 1; // 0x2f0
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONG DbgLkgEnabled : 1; // 0x2f0
|
||||
#else
|
||||
ULONG DbgSystemDllRelocated : 1; // 0x2f0
|
||||
#endif
|
||||
ULONG DbgDynProcessorEnabled : 1; // 0x2f0
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONG DbgConsoleBrokerEnabled : 1; // 0x2f0
|
||||
#else
|
||||
ULONG DbgSEHValidationEnabled : 1; // 0x2f0
|
||||
#endif
|
||||
ULONG DbgSecureBootEnabled : 1; // 0x2f0 Win8+
|
||||
ULONG DbgMultiSessionSku : 1; // 0x2f0 Win 10+
|
||||
ULONG DbgMultiUsersInSessionSku : 1; // 0x2f0 Win 10 RS1+
|
||||
ULONG DbgStateSeparationEnabled : 1; // 0x2f0 Win 10 RS3+
|
||||
ULONG SpareBits : 21; // 0x2f0
|
||||
} DUMMYSTRUCTNAME2;
|
||||
} DUMMYUNIONNAME2;
|
||||
#else
|
||||
ULONG TraceLogging;
|
||||
#endif
|
||||
#endif // NTDDI_VERSION >= NTDDI_VISTA
|
||||
|
||||
ULONG DataFlagsPad[1]; // 0x2f4
|
||||
ULONGLONG TestRetInstruction; // 0x2f8
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONGLONG QpcFrequency; // 0x300
|
||||
#else
|
||||
ULONG SystemCall; // 0x300
|
||||
ULONG SystemCallReturn; // 0x304
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_TH2)
|
||||
ULONG SystemCall; // 0x308
|
||||
ULONG SystemCallPad0; // 0x30c Renamed to Reserved2 in Vibranium R3
|
||||
ULONGLONG SystemCallPad[2]; // 0x310
|
||||
#else
|
||||
ULONGLONG SystemCallPad[3]; // 0x308
|
||||
#endif
|
||||
union
|
||||
{
|
||||
volatile KSYSTEM_TIME TickCount; // 0x320
|
||||
|
@ -1352,14 +1429,53 @@ typedef struct _KUSER_SHARED_DATA
|
|||
} DUMMYSTRUCTNAME;
|
||||
} DUMMYUNIONNAME3;
|
||||
ULONG Cookie; // 0x330
|
||||
|
||||
#if (NTDDI_VERSION < NTDDI_VISTA)
|
||||
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x334
|
||||
#endif
|
||||
|
||||
//
|
||||
// Windows Vista and later
|
||||
//
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
||||
ULONG CookiePad[1]; // 0x334
|
||||
LONGLONG ConsoleSessionForegroundProcessId; // 0x338
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
#if (NTDDI_VERSION >= NTDDI_WINBLUE)
|
||||
ULONGLONG TimeUpdateLock; // 0x340
|
||||
#else
|
||||
ULONGLONG TimeUpdateSequence; // 0x340
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_WS03)
|
||||
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 2K3: 0x334 / Vista+: 0x340
|
||||
ULONGLONG BaselineSystemTimeQpc; // 0x348
|
||||
ULONGLONG BaselineInterruptTimeQpc; // 0x350
|
||||
ULONGLONG QpcSystemTimeIncrement; // 0x358
|
||||
ULONGLONG QpcInterruptTimeIncrement; // 0x360
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10)
|
||||
UCHAR QpcSystemTimeIncrementShift; // 0x368
|
||||
UCHAR QpcInterruptTimeIncrementShift; // 0x369
|
||||
USHORT UnparkedProcessorCount; // 0x36a
|
||||
ULONG EnclaveFeatureMask[4]; // 0x36c Win 10 TH2+
|
||||
ULONG TelemetryCoverageRound; // 0x37c Win 10 RS2+
|
||||
#else // NTDDI_VERSION < NTDDI_WIN10
|
||||
ULONG QpcSystemTimeIncrement32; // 0x368
|
||||
ULONG QpcInterruptTimeIncrement32; // 0x36c
|
||||
UCHAR QpcSystemTimeIncrementShift; // 0x370
|
||||
UCHAR QpcInterruptTimeIncrementShift; // 0x371
|
||||
#if (NTDDI_VERSION >= NTDDI_WINBLUE)
|
||||
USHORT UnparkedProcessorCount; // 0x372
|
||||
UCHAR Reserved8[12]; // 0x374
|
||||
#else
|
||||
UCHAR Reserved8[14]; // 0x372
|
||||
#endif
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
#endif // NTDDI_VERSION < NTDDI_WIN10
|
||||
#elif (NTDDI_VERSION >= NTDDI_VISTASP2)
|
||||
ULONG DEPRECATED_Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x340
|
||||
#else
|
||||
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x340
|
||||
#endif // NTDDI_VERSION >= NTDDI_VISTA
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
USHORT UserModeGlobalLogger[16]; // 0x380
|
||||
#else
|
||||
|
@ -1367,27 +1483,74 @@ typedef struct _KUSER_SHARED_DATA
|
|||
ULONG HeapTracingPid[2]; // 0x390
|
||||
ULONG CritSecTracingPid[2]; // 0x398
|
||||
#endif
|
||||
|
||||
ULONG ImageFileExecutionOptions; // 0x3a0
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTASP1)
|
||||
ULONG LangGenerationCount; // 0x3a4
|
||||
#else
|
||||
/* 4 bytes padding */
|
||||
#endif
|
||||
ULONG LangGenerationCount; // 0x3a4 Vista SP2+
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
ULONGLONG Reserved4; // 0x3a8
|
||||
#elif (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
ULONGLONG Reserved5; // 0x3a8
|
||||
volatile ULONG64 InterruptTimeBias; // 0x3b0
|
||||
#else
|
||||
union
|
||||
{
|
||||
KAFFINITY ActiveProcessorAffinity; // 0x3a8
|
||||
ULONGLONG AffinityPad; // 0x3a8
|
||||
};
|
||||
#endif
|
||||
|
||||
volatile ULONGLONG InterruptTimeBias; // 0x3b0
|
||||
#endif // NTDDI_VERSION >= NTDDI_VISTA
|
||||
|
||||
//
|
||||
// Windows 7 and later
|
||||
//
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN7)
|
||||
volatile ULONG64 TscQpcBias; // 0x3b8
|
||||
volatile ULONG ActiveProcessorCount; // 0x3c0
|
||||
volatile USHORT ActiveGroupCount; // 0x3c4
|
||||
volatile ULONGLONG QpcBias; // 0x3b8 // Win7: TscQpcBias
|
||||
/* volatile */ ULONG ActiveProcessorCount; // 0x3c0 // not volatile since Win 8.1 Update 1
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN8)
|
||||
volatile UCHAR ActiveGroupCount; // 0x3c4
|
||||
UCHAR Reserved9; // 0x3c5
|
||||
union
|
||||
{
|
||||
USHORT QpcData; // 0x3c6
|
||||
struct
|
||||
{
|
||||
volatile UCHAR QpcBypassEnabled; // 0x3c6
|
||||
UCHAR QpcShift; // 0x3c7
|
||||
};
|
||||
};
|
||||
LARGE_INTEGER TimeZoneBiasEffectiveStart; // 0x3c8
|
||||
LARGE_INTEGER TimeZoneBiasEffectiveEnd; // 0x3d0
|
||||
XSTATE_CONFIGURATION XState; // 0x3d8
|
||||
#else
|
||||
USHORT ActiveGroupCount; // 0x3c4
|
||||
USHORT Reserved4; // 0x3c6
|
||||
volatile ULONG AitSamplingValue; // 0x3c8
|
||||
volatile ULONG AppCompatFlag; // 0x3cc
|
||||
ULONGLONG SystemDllNativeRelocation; // 0x3d0
|
||||
ULONG SystemDllWowRelocation; // 0x3d8
|
||||
ULONGLONG SystemDllNativeRelocation; // 0x3d0 deprecated in Win7 SP2
|
||||
ULONG SystemDllWowRelocation; // 0x3d8 deprecated in Win7 SP2
|
||||
ULONG XStatePad[1]; // 0x3dc
|
||||
XSTATE_CONFIGURATION XState; // 0x3e0
|
||||
#endif
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN8
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN7
|
||||
|
||||
//
|
||||
// Windows 10 Vibranium and later
|
||||
//
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
|
||||
KSYSTEM_TIME FeatureConfigurationChangeStamp; // 0x710 // Win 11: 0x720
|
||||
ULONG Spare; // 0x71c // Win 11: 0x72c
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN10_VB
|
||||
|
||||
//
|
||||
// Windows 11 Nickel and later
|
||||
//
|
||||
#if (NTDDI_VERSION >= NTDDI_WIN11_NI)
|
||||
ULONG64 UserPointerAuthMask; // 0x730
|
||||
#endif // NTDDI_VERSION >= NTDDI_WIN11_NI
|
||||
|
||||
} KUSER_SHARED_DATA, *PKUSER_SHARED_DATA;
|
||||
|
||||
#if (NTDDI_VERSION >= NTDDI_VISTA)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue