[XDK][NDK] Avoid code duplication by generating more definitions for winnt.h

This commit is contained in:
Timo Kreuzer 2025-05-13 13:02:21 +03:00
parent 8d2d9b803a
commit 9ea129b8a9
3 changed files with 12 additions and 47 deletions

View file

@ -518,48 +518,6 @@ typedef struct _KSYSTEM_TIME
LONG High2Time; LONG High2Time;
} KSYSTEM_TIME, *PKSYSTEM_TIME; } KSYSTEM_TIME, *PKSYSTEM_TIME;
#define MAXIMUM_XSTATE_FEATURES 64
typedef struct _XSTATE_FEATURE
{
ULONG Offset;
ULONG Size;
} XSTATE_FEATURE, *PXSTATE_FEATURE;
typedef struct _XSTATE_CONFIGURATION
{
ULONG64 EnabledFeatures;
#if (NTDDI_VERSION >= NTDDI_WIN8)
ULONG64 EnabledVolatileFeatures;
#endif
ULONG Size;
union
{
ULONG ControlFlags;
struct
{
ULONG OptimizedSave:1;
ULONG CompactionEnabled:1; // WIN10+
ULONG ExtendedFeatureDisable:1; // Win11+
};
};
XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES];
#if (NTDDI_VERSION >= NTDDI_WIN10)
ULONG64 EnabledSupervisorFeatures;
ULONG64 AlignedFeatures;
ULONG AllFeatureSize;
ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES];
#endif
#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
ULONG64 EnabledUserVisibleSupervisorFeatures;
#endif
#if (NTDDI_VERSION >= NTDDI_WIN11)
ULONG64 ExtendedFeatureDisableFeatures;
ULONG AllNonLargeFeatureSize;
ULONG Spare;
#endif
} XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION;
// //
// Shared Kernel User Data // Shared Kernel User Data
// Keep in sync with sdk/include/xdk/ketypes.h // Keep in sync with sdk/include/xdk/ketypes.h

View file

@ -931,6 +931,9 @@ typedef struct _KSYSTEM_TIME {
LONG High2Time; LONG High2Time;
} KSYSTEM_TIME, *PKSYSTEM_TIME; } KSYSTEM_TIME, *PKSYSTEM_TIME;
$endif(_WDMDDK_)
$if(_WDMDDK_ || _WINNT_)
typedef struct DECLSPEC_ALIGN(16) _M128A { typedef struct DECLSPEC_ALIGN(16) _M128A {
ULONGLONG Low; ULONGLONG Low;
LONGLONG High; LONGLONG High;
@ -1010,6 +1013,9 @@ typedef struct _XSTATE_SAVE {
#endif #endif
} XSTATE_SAVE, *PXSTATE_SAVE; } XSTATE_SAVE, *PXSTATE_SAVE;
$endif(_WDMDDK_ || _WINNT_)
$if(_WDMDDK_)
#ifdef _X86_ #ifdef _X86_
#define MAXIMUM_SUPPORTED_EXTENSION 512 #define MAXIMUM_SUPPORTED_EXTENSION 512
@ -1129,6 +1135,9 @@ typedef struct _TIMER_SET_COALESCABLE_TIMER_INFO {
} TIMER_SET_COALESCABLE_TIMER_INFO, *PTIMER_SET_COALESCABLE_TIMER_INFO; } TIMER_SET_COALESCABLE_TIMER_INFO, *PTIMER_SET_COALESCABLE_TIMER_INFO;
#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */ #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
$endif (_NTDDK_)
$if (_NTDDK_ || _WINNT_)
#define XSTATE_LEGACY_FLOATING_POINT 0 #define XSTATE_LEGACY_FLOATING_POINT 0
#define XSTATE_LEGACY_SSE 1 #define XSTATE_LEGACY_SSE 1
#define XSTATE_GSSE 2 #define XSTATE_GSSE 2
@ -1252,6 +1261,9 @@ typedef struct _XSTATE_CONFIGURATION
#endif #endif
} XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION; } XSTATE_CONFIGURATION, *PXSTATE_CONFIGURATION;
$endif (_NTDDK_ || _WINNT_)
$if (_NTDDK_)
#define MAX_WOW64_SHARED_ENTRIES 16 #define MAX_WOW64_SHARED_ENTRIES 16
// //

View file

@ -1270,11 +1270,6 @@ typedef struct _CONTEXT {
#define EXCEPTION_WRITE_FAULT 1 #define EXCEPTION_WRITE_FAULT 1
#define EXCEPTION_EXECUTE_FAULT 8 #define EXCEPTION_EXECUTE_FAULT 8
typedef struct DECLSPEC_ALIGN(16) _M128A {
ULONGLONG Low;
LONGLONG High;
} M128A, *PM128A;
typedef struct _XMM_SAVE_AREA32 { typedef struct _XMM_SAVE_AREA32 {
WORD ControlWord; WORD ControlWord;
WORD StatusWord; WORD StatusWord;