Update ctypes_generation

This commit is contained in:
hakril
2024-05-20 12:59:46 +02:00
parent 0a2ed77302
commit 9ce6fcef9c
6 changed files with 382 additions and 47577 deletions
+19
View File
@@ -635,6 +635,19 @@ WinDef
.. autodata:: RPL_MASK
.. autodata:: CS_USER_32B
.. autodata:: CS_USER_64B
.. autodata:: MM_SHARED_USER_DATA_VA
.. autodata:: XSTATE_LEGACY_FLOATING_POINT
.. autodata:: XSTATE_LEGACY_SSE
.. autodata:: XSTATE_GSSE
.. autodata:: XSTATE_AVX
.. autodata:: XSTATE_MPX_BNDREGS
.. autodata:: XSTATE_MPX_BNDCSR
.. autodata:: XSTATE_AVX512_KMASK
.. autodata:: XSTATE_AVX512_ZMM_H
.. autodata:: XSTATE_AVX512_ZMM
.. autodata:: XSTATE_IPT
.. autodata:: XSTATE_LWP
.. autodata:: MAXIMUM_XSTATE_FEATURES
.. autodata:: FC_ALLOCATE_ALL_NODES
.. autodata:: FC_DONT_FREE
.. autodata:: FC_ALLOCED_ON_STACK
@@ -1238,6 +1251,11 @@ WinDef
.. autodata:: SERVICE_WIN32
.. autodata:: SERVICE_INTERACTIVE_PROCESS
.. autodata:: SERVICE_TYPE_ALL
.. autodata:: SERVICE_USER_SERVICE
.. autodata:: SERVICE_USERSERVICE_INSTANCE
.. autodata:: SERVICE_USER_SHARE_PROCESS
.. autodata:: SERVICE_USER_OWN_PROCESS
.. autodata:: SERVICE_PKG_SERVICE
.. autodata:: SERVICE_BOOT_START
.. autodata:: SERVICE_SYSTEM_START
.. autodata:: SERVICE_AUTO_START
@@ -2275,6 +2293,7 @@ WinDef
.. autodata:: TXFS_MINIVERSION_COMMITTED_VIEW
.. autodata:: TXFS_MINIVERSION_DIRTY_VIEW
.. autodata:: TXFS_MINIVERSION_DEFAULT_VIEW
.. autodata:: PROCESSOR_FEATURE_MAX
.. autodata:: ACCESS_SYSTEM_SECURITY
.. autodata:: MAXIMUM_ALLOWED
.. autodata:: FILE_READ_DATA
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+19
View File
@@ -652,6 +652,19 @@ MODE_MASK = make_flag("MODE_MASK", 1)
RPL_MASK = make_flag("RPL_MASK", 3)
CS_USER_32B = make_flag("CS_USER_32B", ( AMD64_KGDT64_R3_CMCODE | RPL_MASK ))
CS_USER_64B = make_flag("CS_USER_64B", ( AMD64_KGDT64_R3_CODE | RPL_MASK ))
MM_SHARED_USER_DATA_VA = make_flag("MM_SHARED_USER_DATA_VA", 0x7FFE0000)
XSTATE_LEGACY_FLOATING_POINT = make_flag("XSTATE_LEGACY_FLOATING_POINT", ( 0 ))
XSTATE_LEGACY_SSE = make_flag("XSTATE_LEGACY_SSE", ( 1 ))
XSTATE_GSSE = make_flag("XSTATE_GSSE", ( 2 ))
XSTATE_AVX = make_flag("XSTATE_AVX", ( XSTATE_GSSE ))
XSTATE_MPX_BNDREGS = make_flag("XSTATE_MPX_BNDREGS", ( 3 ))
XSTATE_MPX_BNDCSR = make_flag("XSTATE_MPX_BNDCSR", ( 4 ))
XSTATE_AVX512_KMASK = make_flag("XSTATE_AVX512_KMASK", ( 5 ))
XSTATE_AVX512_ZMM_H = make_flag("XSTATE_AVX512_ZMM_H", ( 6 ))
XSTATE_AVX512_ZMM = make_flag("XSTATE_AVX512_ZMM", ( 7 ))
XSTATE_IPT = make_flag("XSTATE_IPT", ( 8 ))
XSTATE_LWP = make_flag("XSTATE_LWP", ( 62 ))
MAXIMUM_XSTATE_FEATURES = make_flag("MAXIMUM_XSTATE_FEATURES", ( 64 ))
FC_ALLOCATE_ALL_NODES = make_flag("FC_ALLOCATE_ALL_NODES", 0x01)
FC_DONT_FREE = make_flag("FC_DONT_FREE", 0x02)
FC_ALLOCED_ON_STACK = make_flag("FC_ALLOCED_ON_STACK", 0x04)
@@ -1255,6 +1268,11 @@ SERVICE_USER_SHARE_PROCESS = make_flag("SERVICE_USER_SHARE_PROCESS", 0x00000060)
SERVICE_WIN32 = make_flag("SERVICE_WIN32", ( SERVICE_WIN32_OWN_PROCESS | SERVICE_WIN32_SHARE_PROCESS ))
SERVICE_INTERACTIVE_PROCESS = make_flag("SERVICE_INTERACTIVE_PROCESS", 0x00000100)
SERVICE_TYPE_ALL = make_flag("SERVICE_TYPE_ALL", ( SERVICE_WIN32 | SERVICE_ADAPTER | SERVICE_DRIVER | SERVICE_INTERACTIVE_PROCESS ))
SERVICE_USER_SERVICE = make_flag("SERVICE_USER_SERVICE", 0x00000040)
SERVICE_USERSERVICE_INSTANCE = make_flag("SERVICE_USERSERVICE_INSTANCE", 0x00000080)
SERVICE_USER_SHARE_PROCESS = make_flag("SERVICE_USER_SHARE_PROCESS", ( SERVICE_USER_SERVICE | SERVICE_WIN32_SHARE_PROCESS ))
SERVICE_USER_OWN_PROCESS = make_flag("SERVICE_USER_OWN_PROCESS", ( SERVICE_USER_SERVICE | SERVICE_WIN32_OWN_PROCESS ))
SERVICE_PKG_SERVICE = make_flag("SERVICE_PKG_SERVICE", 0x00000200)
SERVICE_BOOT_START = make_flag("SERVICE_BOOT_START", 0x00000000)
SERVICE_SYSTEM_START = make_flag("SERVICE_SYSTEM_START", 0x00000001)
SERVICE_AUTO_START = make_flag("SERVICE_AUTO_START", 0x00000002)
@@ -2292,6 +2310,7 @@ CMSG_VERIFY_SIGNER_NULL = make_flag("CMSG_VERIFY_SIGNER_NULL", 4)
TXFS_MINIVERSION_COMMITTED_VIEW = make_flag("TXFS_MINIVERSION_COMMITTED_VIEW", ( 0x0000 ))
TXFS_MINIVERSION_DIRTY_VIEW = make_flag("TXFS_MINIVERSION_DIRTY_VIEW", ( 0xFFFF ))
TXFS_MINIVERSION_DEFAULT_VIEW = make_flag("TXFS_MINIVERSION_DEFAULT_VIEW", ( 0xFFFE ))
PROCESSOR_FEATURE_MAX = make_flag("PROCESSOR_FEATURE_MAX", 64)
ACCESS_SYSTEM_SECURITY = make_flag("ACCESS_SYSTEM_SECURITY", ( 0x01000000 ))
MAXIMUM_ALLOWED = make_flag("MAXIMUM_ALLOWED", ( 0x02000000 ))
FILE_READ_DATA = make_flag("FILE_READ_DATA", ( 0x0001 ))
+15
View File
@@ -2830,6 +2830,11 @@ NtProtectVirtualMemoryParams = ((1, 'ProcessHandle'), (1, 'BaseAddress'), (1, 'N
NtQuerySystemInformationPrototype = WINFUNCTYPE(NTSTATUS, SYSTEM_INFORMATION_CLASS, PVOID, ULONG, PULONG)
NtQuerySystemInformationParams = ((1, 'SystemInformationClass'), (1, 'SystemInformation'), (1, 'SystemInformationLength'), (1, 'ReturnLength'))
#def NtQuerySystemInformationEx(SystemInformationClass, InputBuffer, InputBufferLength, SystemInformation, SystemInformationLength, ReturnLength):
# return NtQuerySystemInformationEx.ctypes_function(SystemInformationClass, InputBuffer, InputBufferLength, SystemInformation, SystemInformationLength, ReturnLength)
NtQuerySystemInformationExPrototype = WINFUNCTYPE(NTSTATUS, SYSTEM_INFORMATION_CLASS, PVOID, ULONG, PVOID, ULONG, PULONG)
NtQuerySystemInformationExParams = ((1, 'SystemInformationClass'), (1, 'InputBuffer'), (1, 'InputBufferLength'), (1, 'SystemInformation'), (1, 'SystemInformationLength'), (1, 'ReturnLength'))
#def NtQueryInformationProcess(ProcessHandle, ProcessInformationClass, ProcessInformation, ProcessInformationLength, ReturnLength):
# return NtQueryInformationProcess.ctypes_function(ProcessHandle, ProcessInformationClass, ProcessInformation, ProcessInformationLength, ReturnLength)
NtQueryInformationProcessPrototype = WINFUNCTYPE(NTSTATUS, HANDLE, PROCESSINFOCLASS, PVOID, ULONG, PULONG)
@@ -3550,6 +3555,16 @@ AllocConsoleParams = ()
FreeConsolePrototype = WINFUNCTYPE(BOOL)
FreeConsoleParams = ()
#def GetConsoleOutputCP():
# return GetConsoleOutputCP.ctypes_function()
GetConsoleOutputCPPrototype = WINFUNCTYPE(UINT)
GetConsoleOutputCPParams = ()
#def GetConsoleCP():
# return GetConsoleCP.ctypes_function()
GetConsoleCPPrototype = WINFUNCTYPE(UINT)
GetConsoleCPParams = ()
#def GetStdHandle(nStdHandle):
# return GetStdHandle.ctypes_function(nStdHandle)
GetStdHandlePrototype = WINFUNCTYPE(HANDLE, DWORD)
+329 -1
View File
@@ -1,5 +1,7 @@
from .windef import *
import windows # Allow extended-struct to use windows/winproxy/...
import windows.pycompat
from ctypes import *
from ctypes.wintypes import *
@@ -4649,6 +4651,16 @@ class _RTL_PATH_TYPE(EnumType):
RTL_PATH_TYPE = _RTL_PATH_TYPE
NtProductWinNt = EnumValue("_NT_PRODUCT_TYPE", "NtProductWinNt", 0x1)
NtProductLanManNt = EnumValue("_NT_PRODUCT_TYPE", "NtProductLanManNt", 0x2)
NtProductServer = EnumValue("_NT_PRODUCT_TYPE", "NtProductServer", 0x3)
class _NT_PRODUCT_TYPE(EnumType):
values = [NtProductWinNt, NtProductLanManNt, NtProductServer]
mapper = FlagMapper(*values)
PNT_PRODUCT_TYPE = POINTER(_NT_PRODUCT_TYPE)
NT_PRODUCT_TYPE = _NT_PRODUCT_TYPE
# Self referencing struct tricks
class _LIST_ENTRY(Structure): pass
PLIST_ENTRY = POINTER(_LIST_ENTRY)
@@ -4707,7 +4719,7 @@ class _LSA_UNICODE_STRING(INITIAL_LSA_UNICODE_STRING):
return cls(size, size, ctypes.cast(buffer, PVOID))
def __repr__(self):
return """<{0} "{1}" at {2}>""".format(type(self).__name__, self.str, hex(id(self)))
return windows.pycompat.urepr_encode(u"""<{0} "{1}" at {2}>""".format(type(self).__name__, self.str, hex(id(self))))
def __sprint__(self):
try:
@@ -9106,6 +9118,322 @@ class _FILE_RENAME_INFORMATION(INITIAL_FILE_RENAME_INFORMATION):
FILE_RENAME_INFORMATION = _FILE_RENAME_INFORMATION
PFILE_RENAME_INFORMATION = POINTER(_FILE_RENAME_INFORMATION)
StandardDesign = EnumValue("_ALTERNATIVE_ARCHITECTURE_TYPE", "StandardDesign", 0x0)
NEC98x86 = EnumValue("_ALTERNATIVE_ARCHITECTURE_TYPE", "NEC98x86", 0x1)
EndAlternatives = EnumValue("_ALTERNATIVE_ARCHITECTURE_TYPE", "EndAlternatives", 0x2)
class _ALTERNATIVE_ARCHITECTURE_TYPE(EnumType):
values = [StandardDesign, NEC98x86, EndAlternatives]
mapper = FlagMapper(*values)
ALTERNATIVE_ARCHITECTURE_TYPE = _ALTERNATIVE_ARCHITECTURE_TYPE
class _XSTATE_FEATURE(Structure):
_fields_ = [
("Offset", DWORD),
("Size", DWORD),
]
XSTATE_FEATURE = _XSTATE_FEATURE
PXSTATE_FEATURE = POINTER(_XSTATE_FEATURE)
class _ANON__ANON__XSTATE_CONFIGURATION_SUB_UNION_1_SUB_STRUCTURE_1(Structure):
_fields_ = [
("OptimizedSave", DWORD, 1),
("CompactionEnabled", DWORD, 1),
]
class _ANON__XSTATE_CONFIGURATION_SUB_UNION_1(Union):
_anonymous_ = ("anon_01",)
_fields_ = [
("ControlFlags", DWORD),
("anon_01", _ANON__ANON__XSTATE_CONFIGURATION_SUB_UNION_1_SUB_STRUCTURE_1),
]
class _XSTATE_CONFIGURATION(Structure):
_anonymous_ = ("anon_01",)
_fields_ = [
("EnabledFeatures", DWORD64),
("EnabledVolatileFeatures", DWORD64),
("Size", DWORD),
("anon_01", _ANON__XSTATE_CONFIGURATION_SUB_UNION_1),
("Features", XSTATE_FEATURE * (MAXIMUM_XSTATE_FEATURES)),
("EnabledSupervisorFeatures", DWORD64),
("AlignedFeatures", DWORD64),
("AllFeatureSize", DWORD),
("AllFeatures", DWORD * (MAXIMUM_XSTATE_FEATURES)),
]
XSTATE_CONFIGURATION = _XSTATE_CONFIGURATION
PXSTATE_CONFIGURATION = POINTER(_XSTATE_CONFIGURATION)
class _KSYSTEM_TIME(Structure):
_fields_ = [
("LowPart", ULONG),
("High1Time", LONG),
("High2Time", LONG),
]
KSYSTEM_TIME = _KSYSTEM_TIME
PKSYSTEM_TIME = POINTER(_KSYSTEM_TIME)
class _ANON__ANON__PFW_MINIMAL_KUSER_SHARED_DATA_SUB_UNION_1_SUB_STRUCTURE_1(Structure):
_fields_ = [
("NXSupportPolicy", BYTE, 2),
("SEHValidationPolicy", BYTE, 2),
("CurDirDevicesSkippedForDlls", BYTE, 2),
("Reserved", BYTE, 2),
]
class _ANON__PFW_MINIMAL_KUSER_SHARED_DATA_SUB_UNION_1(Union):
_anonymous_ = ("anon_01",)
_fields_ = [
("MitigationPolicies", BYTE),
("anon_01", _ANON__ANON__PFW_MINIMAL_KUSER_SHARED_DATA_SUB_UNION_1_SUB_STRUCTURE_1),
]
class _ANON__ANON__PFW_MINIMAL_KUSER_SHARED_DATA_SUB_UNION_2_SUB_STRUCTURE_1(Structure):
_fields_ = [
("DbgErrorPortPresent", ULONG, 1),
("DbgElevationEnabled", ULONG, 1),
("DbgVirtEnabled", ULONG, 1),
("DbgInstallerDetectEnabled", ULONG, 1),
("DbgLkgEnabled", ULONG, 1),
("DbgDynProcessorEnabled", ULONG, 1),
("DbgConsoleBrokerEnabled", ULONG, 1),
("DbgSecureBootEnabled", ULONG, 1),
("DbgMultiSessionSku", ULONG, 1),
("DbgMultiUsersInSessionSku", ULONG, 1),
("DbgStateSeparationEnabled", ULONG, 1),
("SpareBits", ULONG, 21),
]
class _ANON__PFW_MINIMAL_KUSER_SHARED_DATA_SUB_UNION_2(Union):
_anonymous_ = ("anon_01",)
_fields_ = [
("SharedDataFlags", ULONG),
("anon_01", _ANON__ANON__PFW_MINIMAL_KUSER_SHARED_DATA_SUB_UNION_2_SUB_STRUCTURE_1),
]
class _PFW_MINIMAL_KUSER_SHARED_DATA(Structure):
_anonymous_ = ("anon_01","anon_02")
_fields_ = [
("TickCountLowDeprecated", ULONG),
("TickCountMultiplier", ULONG),
("InterruptTime", KSYSTEM_TIME),
("SystemTime", KSYSTEM_TIME),
("TimeZoneBias", KSYSTEM_TIME),
("ImageNumberLow", USHORT),
("ImageNumberHigh", USHORT),
("NtSystemRoot", WCHAR * (260)),
("MaxStackTraceDepth", ULONG),
("CryptoExponent", ULONG),
("TimeZoneId", ULONG),
("LargePageMinimum", ULONG),
("AitSamplingValue", ULONG),
("AppCompatFlag", ULONG),
("RNGSeedVersion", ULONGLONG),
("GlobalValidationRunlevel", ULONG),
("TimeZoneBiasStamp", LONG),
("NtBuildNumber", ULONG),
("NtProductType", NT_PRODUCT_TYPE),
("ProductTypeIsValid", BOOLEAN),
("Reserved0", BOOLEAN * (1)),
("NativeProcessorArchitecture", USHORT),
("NtMajorVersion", ULONG),
("NtMinorVersion", ULONG),
("ProcessorFeatures", BOOLEAN * (PROCESSOR_FEATURE_MAX)),
("Reserved1", ULONG),
("Reserved3", ULONG),
("TimeSlip", ULONG),
("AlternativeArchitecture", ALTERNATIVE_ARCHITECTURE_TYPE),
("BootId", ULONG),
("SystemExpirationDate", LARGE_INTEGER),
("SuiteMask", ULONG),
("KdDebuggerEnabled", BOOLEAN),
("anon_01", _ANON__PFW_MINIMAL_KUSER_SHARED_DATA_SUB_UNION_1),
("CyclesPerYield", USHORT),
("ActiveConsoleId", ULONG),
("DismountCount", ULONG),
("ComPlusPackage", ULONG),
("LastSystemRITEventTickCount", ULONG),
("NumberOfPhysicalPages", ULONG),
("SafeBootMode", BOOLEAN),
("VirtualizationFlags", UCHAR),
("Reserved12", UCHAR * (2)),
("anon_02", _ANON__PFW_MINIMAL_KUSER_SHARED_DATA_SUB_UNION_2),
("DataFlagsPad", ULONG * (1)),
("TestRetInstruction", ULONGLONG),
]
PFW_MINIMAL_KUSER_SHARED_DATA = _PFW_MINIMAL_KUSER_SHARED_DATA
class _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_1_SUB_STRUCTURE_1(Structure):
_fields_ = [
("NXSupportPolicy", BYTE, 2),
("SEHValidationPolicy", BYTE, 2),
("CurDirDevicesSkippedForDlls", BYTE, 2),
("Reserved", BYTE, 2),
]
class _ANON__KUSER_SHARED_DATA_SUB_UNION_1(Union):
_anonymous_ = ("anon_01",)
_fields_ = [
("MitigationPolicies", BYTE),
("anon_01", _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_1_SUB_STRUCTURE_1),
]
class _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_2_SUB_STRUCTURE_1(Structure):
_fields_ = [
("DbgErrorPortPresent", ULONG, 1),
("DbgElevationEnabled", ULONG, 1),
("DbgVirtEnabled", ULONG, 1),
("DbgInstallerDetectEnabled", ULONG, 1),
("DbgLkgEnabled", ULONG, 1),
("DbgDynProcessorEnabled", ULONG, 1),
("DbgConsoleBrokerEnabled", ULONG, 1),
("DbgSecureBootEnabled", ULONG, 1),
("DbgMultiSessionSku", ULONG, 1),
("DbgMultiUsersInSessionSku", ULONG, 1),
("DbgStateSeparationEnabled", ULONG, 1),
("SpareBits", ULONG, 21),
]
class _ANON__KUSER_SHARED_DATA_SUB_UNION_2(Union):
_anonymous_ = ("anon_01",)
_fields_ = [
("SharedDataFlags", ULONG),
("anon_01", _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_2_SUB_STRUCTURE_1),
]
class _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_3_SUB_STRUCTURE_1(Structure):
_fields_ = [
("Win32Process", ULONG, 1),
("Sgx2Enclave", ULONG, 1),
("VbsBasicEnclave", ULONG, 1),
("SpareBits", ULONG, 29),
]
class _ANON__KUSER_SHARED_DATA_SUB_UNION_3(Union):
_anonymous_ = ("anon_01",)
_fields_ = [
("AllFlags", ULONG),
("anon_01", _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_3_SUB_STRUCTURE_1),
]
class _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_4_SUB_STRUCTURE_1(Structure):
_fields_ = [
("ReservedTickCountOverlay", ULONG * (3)),
("TickCountPad", ULONG * (1)),
]
class _ANON__KUSER_SHARED_DATA_SUB_UNION_4(Union):
_anonymous_ = ("anon_01",)
_fields_ = [
("TickCount", KSYSTEM_TIME),
("TickCountQuad", ULONG64),
("anon_01", _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_4_SUB_STRUCTURE_1),
]
class _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_5_SUB_STRUCTURE_1(Structure):
_fields_ = [
("QpcBypassEnabled", UCHAR),
("QpcShift", UCHAR),
]
class _ANON__KUSER_SHARED_DATA_SUB_UNION_5(Union):
_anonymous_ = ("anon_01",)
_fields_ = [
("QpcData", USHORT),
("anon_01", _ANON__ANON__KUSER_SHARED_DATA_SUB_UNION_5_SUB_STRUCTURE_1),
]
class _KUSER_SHARED_DATA(Structure):
_anonymous_ = ("anon_01","anon_02","UserCetAvailableEnvironments","anon_04","anon_05")
_fields_ = [
("TickCountLowDeprecated", ULONG),
("TickCountMultiplier", ULONG),
("InterruptTime", KSYSTEM_TIME),
("SystemTime", KSYSTEM_TIME),
("TimeZoneBias", KSYSTEM_TIME),
("ImageNumberLow", USHORT),
("ImageNumberHigh", USHORT),
("NtSystemRoot", WCHAR * (260)),
("MaxStackTraceDepth", ULONG),
("CryptoExponent", ULONG),
("TimeZoneId", ULONG),
("LargePageMinimum", ULONG),
("AitSamplingValue", ULONG),
("AppCompatFlag", ULONG),
("RNGSeedVersion", ULONGLONG),
("GlobalValidationRunlevel", ULONG),
("TimeZoneBiasStamp", LONG),
("NtBuildNumber", ULONG),
("NtProductType", NT_PRODUCT_TYPE),
("ProductTypeIsValid", BOOLEAN),
("Reserved0", BOOLEAN * (1)),
("NativeProcessorArchitecture", USHORT),
("NtMajorVersion", ULONG),
("NtMinorVersion", ULONG),
("ProcessorFeatures", BOOLEAN * (PROCESSOR_FEATURE_MAX)),
("Reserved1", ULONG),
("Reserved3", ULONG),
("TimeSlip", ULONG),
("AlternativeArchitecture", ALTERNATIVE_ARCHITECTURE_TYPE),
("BootId", ULONG),
("SystemExpirationDate", LARGE_INTEGER),
("SuiteMask", ULONG),
("KdDebuggerEnabled", BOOLEAN),
("anon_01", _ANON__KUSER_SHARED_DATA_SUB_UNION_1),
("CyclesPerYield", USHORT),
("ActiveConsoleId", ULONG),
("DismountCount", ULONG),
("ComPlusPackage", ULONG),
("LastSystemRITEventTickCount", ULONG),
("NumberOfPhysicalPages", ULONG),
("SafeBootMode", BOOLEAN),
("VirtualizationFlags", UCHAR),
("Reserved12", UCHAR * (2)),
("anon_02", _ANON__KUSER_SHARED_DATA_SUB_UNION_2),
("DataFlagsPad", ULONG * (1)),
("TestRetInstruction", ULONGLONG),
("QpcFrequency", LONGLONG),
("SystemCall", ULONG),
("UserCetAvailableEnvironments", _ANON__KUSER_SHARED_DATA_SUB_UNION_3),
("SystemCallPad", ULONGLONG * (2)),
("anon_04", _ANON__KUSER_SHARED_DATA_SUB_UNION_4),
("Cookie", ULONG),
("CookiePad", ULONG * (1)),
("ConsoleSessionForegroundProcessId", LONGLONG),
("TimeUpdateLock", ULONGLONG),
("BaselineSystemTimeQpc", ULONGLONG),
("BaselineInterruptTimeQpc", ULONGLONG),
("QpcSystemTimeIncrement", ULONGLONG),
("QpcInterruptTimeIncrement", ULONGLONG),
("QpcSystemTimeIncrementShift", UCHAR),
("QpcInterruptTimeIncrementShift", UCHAR),
("UnparkedProcessorCount", USHORT),
("EnclaveFeatureMask", ULONG * (4)),
("TelemetryCoverageRound", ULONG),
("UserModeGlobalLogger", USHORT * (16)),
("ImageFileExecutionOptions", ULONG),
("LangGenerationCount", ULONG),
("Reserved4", ULONGLONG),
("InterruptTimeBias", ULONGLONG),
("QpcBias", ULONGLONG),
("ActiveProcessorCount", ULONG),
("ActiveGroupCount", UCHAR),
("Reserved9", UCHAR),
("anon_05", _ANON__KUSER_SHARED_DATA_SUB_UNION_5),
("TimeZoneBiasEffectiveStart", LARGE_INTEGER),
("TimeZoneBiasEffectiveEnd", LARGE_INTEGER),
("XState", XSTATE_CONFIGURATION),
("FeatureConfigurationChangeStamp", KSYSTEM_TIME),
("Spare", ULONG),
]
KUSER_SHARED_DATA = _KUSER_SHARED_DATA
PKUSER_SHARED_DATA = POINTER(_KUSER_SHARED_DATA)
PolicyAuditLogInformation = EnumValue("_POLICY_INFORMATION_CLASS", "PolicyAuditLogInformation", 0x1)
PolicyAuditEventsInformation = EnumValue("_POLICY_INFORMATION_CLASS", "PolicyAuditEventsInformation", 0x2)
PolicyPrimaryDomainInformation = EnumValue("_POLICY_INFORMATION_CLASS", "PolicyPrimaryDomainInformation", 0x3)