16#define CACHE_FULLY_ASSOCIATIVE 0xFF
17#define MAXIMUM_SUSPEND_COUNT MAXCHAR
19#define EVENT_QUERY_STATE (0x0001)
20#define EVENT_MODIFY_STATE (0x0002)
21#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)
25#if (NTDDI_VERSION < NTDDI_WIN7) || defined(_X86_) || !defined(NT_PROCESSOR_GROUPS)
26#define SINGLE_GROUP_LEGACY_API 1
29#define SEMAPHORE_QUERY_STATE (0x0001)
30#define SEMAPHORE_MODIFY_STATE (0x0002)
31#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)
36typedef struct _PROCESSOR_GROUP_INFO {
37 UCHAR MaximumProcessorCount;
38 UCHAR ActiveProcessorCount;
133typedef struct _SYSTEM_CPU_SET_INFORMATION
143 UCHAR LogicalProcessorIndex;
145 UCHAR LastLevelCacheIndex;
147 UCHAR EfficiencyClass;
155 UCHAR AllocatedToTargetProcess : 1;
157 UCHAR ReservedFlags : 4;
163 UCHAR SchedulingClass;
170#define SYSTEM_CPU_SET_INFORMATION_PARKED 0x1
171#define SYSTEM_CPU_SET_INFORMATION_ALLOCATED 0x2
172#define SYSTEM_CPU_SET_INFORMATION_ALLOCATED_TO_TARGET_PROCESS 0x4
173#define SYSTEM_CPU_SET_INFORMATION_REALTIME 0x8
176#define PF_FLOATING_POINT_PRECISION_ERRATA 0
177#define PF_FLOATING_POINT_EMULATED 1
178#define PF_COMPARE_EXCHANGE_DOUBLE 2
179#define PF_MMX_INSTRUCTIONS_AVAILABLE 3
180#define PF_PPC_MOVEMEM_64BIT_OK 4
181#define PF_ALPHA_BYTE_INSTRUCTIONS 5
182#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6
183#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 7
184#define PF_RDTSC_INSTRUCTION_AVAILABLE 8
185#define PF_PAE_ENABLED 9
186#define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
187#define PF_SSE_DAZ_MODE_AVAILABLE 11
188#define PF_NX_ENABLED 12
189#define PF_SSE3_INSTRUCTIONS_AVAILABLE 13
190#define PF_COMPARE_EXCHANGE128 14
191#define PF_COMPARE64_EXCHANGE128 15
192#define PF_CHANNELS_ENABLED 16
193#define PF_XSAVE_ENABLED 17
194#define PF_ARM_VFP_32_REGISTERS_AVAILABLE 18
195#define PF_ARM_NEON_INSTRUCTIONS_AVAILABLE 19
196#define PF_SECOND_LEVEL_ADDRESS_TRANSLATION 20
197#define PF_VIRT_FIRMWARE_ENABLED 21
198#define PF_RDWRFSGSBASE_AVAILABLE 22
199#define PF_FASTFAIL_AVAILABLE 23
200#define PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE 24
201#define PF_ARM_64BIT_LOADSTORE_ATOMIC 25
202#define PF_ARM_EXTERNAL_CACHE_AVAILABLE 26
203#define PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE 27
204#define PF_RDRAND_INSTRUCTION_AVAILABLE 28
205#define PF_ARM_V8_INSTRUCTIONS_AVAILABLE 29
206#define PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE 30
207#define PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE 31
208#define PF_RDTSCP_INSTRUCTION_AVAILABLE 32
209#define PF_RDPID_INSTRUCTION_AVAILABLE 33
210#define PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE 34
211#define PF_SSSE3_INSTRUCTIONS_AVAILABLE 36
212#define PF_SSE4_1_INSTRUCTIONS_AVAILABLE 37
213#define PF_SSE4_2_INSTRUCTIONS_AVAILABLE 38
214#define PF_AVX_INSTRUCTIONS_AVAILABLE 39
215#define PF_AVX2_INSTRUCTIONS_AVAILABLE 40
216#define PF_AVX512F_INSTRUCTIONS_AVAILABLE 41
217#define PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE 43
218#define PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE 44
219#define PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE 45
224#define MAXIMUM_WAIT_OBJECTS 64
226#define ASSERT_APC(Object) \
227 NT_ASSERT((Object)->Type == ApcObject)
229#define ASSERT_DPC(Object) \
230 NT_ASSERT(((Object)->Type == 0) || \
231 ((Object)->Type == DpcObject) || \
232 ((Object)->Type == ThreadedDpcObject))
234#define ASSERT_GATE(Object) \
235 NT_ASSERT((((Object)->Header.Type & KOBJECT_TYPE_MASK) == GateObject) || \
236 (((Object)->Header.Type & KOBJECT_TYPE_MASK) == EventSynchronizationObject))
238#define ASSERT_DEVICE_QUEUE(Object) \
239 NT_ASSERT((Object)->Type == DeviceQueueObject)
241#define ASSERT_TIMER(Object) \
242 NT_ASSERT(((Object)->Header.Type == TimerNotificationObject) || \
243 ((Object)->Header.Type == TimerSynchronizationObject))
245#define ASSERT_MUTANT(Object) \
246 NT_ASSERT((Object)->Header.Type == MutantObject)
248#define ASSERT_SEMAPHORE(Object) \
249 NT_ASSERT((Object)->Header.Type == SemaphoreObject)
251#define ASSERT_EVENT(Object) \
252 NT_ASSERT(((Object)->Header.Type == NotificationEvent) || \
253 ((Object)->Header.Type == SynchronizationEvent))
256#define DPC_THREADED 1
258#define GM_LOCK_BIT 0x1
259#define GM_LOCK_BIT_V 0x0
260#define GM_LOCK_WAITER_WOKEN 0x2
261#define GM_LOCK_WAITER_INC 0x4
263#define LOCK_QUEUE_WAIT_BIT 0
264#define LOCK_QUEUE_OWNER_BIT 1
266#define LOCK_QUEUE_WAIT 1
267#define LOCK_QUEUE_OWNER 2
268#define LOCK_QUEUE_TIMER_LOCK_SHIFT 4
269#define LOCK_QUEUE_TIMER_TABLE_LOCKS (1 << (8 - LOCK_QUEUE_TIMER_LOCK_SHIFT))
271#define PROCESSOR_FEATURE_MAX 64
273#define DBG_STATUS_CONTROL_C 1
274#define DBG_STATUS_SYSRQ 2
275#define DBG_STATUS_BUGCHECK_FIRST 3
276#define DBG_STATUS_BUGCHECK_SECOND 4
277#define DBG_STATUS_FATAL 5
278#define DBG_STATUS_DEBUG_CONTROL 6
279#define DBG_STATUS_WORKER 7
282#define MAXIMUM_PROC_PER_GROUP 64
284#define MAXIMUM_PROC_PER_GROUP 32
286#define MAXIMUM_PROCESSORS MAXIMUM_PROC_PER_GROUP
288#define EXCEPTION_DIVIDED_BY_ZERO 0
289#define EXCEPTION_DEBUG 1
290#define EXCEPTION_NMI 2
291#define EXCEPTION_INT3 3
292#define EXCEPTION_BOUND_CHECK 5
293#define EXCEPTION_INVALID_OPCODE 6
294#define EXCEPTION_NPX_NOT_AVAILABLE 7
295#define EXCEPTION_DOUBLE_FAULT 8
296#define EXCEPTION_NPX_OVERRUN 9
297#define EXCEPTION_INVALID_TSS 0x0A
298#define EXCEPTION_SEGMENT_NOT_PRESENT 0x0B
299#define EXCEPTION_STACK_FAULT 0x0C
300#define EXCEPTION_GP_FAULT 0x0D
301#define EXCEPTION_RESERVED_TRAP 0x0F
302#define EXCEPTION_NPX_ERROR 0x010
303#define EXCEPTION_ALIGNMENT_CHECK 0x011
305typedef enum _KBUGCHECK_CALLBACK_REASON {
308 KbCallbackSecondaryDumpData,
318(
NTAPI KBUGCHECK_REASON_CALLBACK_ROUTINE)(
357#define KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS 0x00000001UL
358#define KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS 0x00000002UL
359#define KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST 0x80000000UL
381(
NTAPI KBUGCHECK_CALLBACK_ROUTINE)(
414#if (NTDDI_VERSION >= NTDDI_WIN7)
422(
NTAPI PROCESSOR_CALLBACK_FUNCTION)(
428#define KE_PROCESSOR_CHANGE_ADD_EXISTING 1
430#define INVALID_PROCESSOR_INDEX 0xffffffff
504#if (NTDDI_VERSION >= NTDDI_WIN8)
508#if (NTDDI_VERSION >= NTDDI_WIN10_RS3)
511#if (NTDDI_VERSION >= NTDDI_WIN11)
514#if (NTDDI_VERSION >= NTDDI_WIN11_NI)
517#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
525#if (NTDDI_VERSION >= NTDDI_WIN8)
544#if (NTDDI_VERSION >= NTDDI_WIN7)
560#define THREAD_WAIT_OBJECTS 3
565(
NTAPI KSTART_ROUTINE)(
577(
NTAPI KSERVICE_ROUTINE)(
585(
NTAPI KMESSAGE_SERVICE_ROUTINE)(
638#define KAPC_OFFSET_TO_SPARE_BYTE0 FIELD_OFFSET(KAPC, SpareByte0)
639#define KAPC_OFFSET_TO_SPARE_BYTE1 FIELD_OFFSET(KAPC, SpareByte1)
640#define KAPC_OFFSET_TO_SPARE_LONG FIELD_OFFSET(KAPC, SpareLong0)
641#define KAPC_OFFSET_TO_SYSTEMARGUMENT1 FIELD_OFFSET(KAPC, SystemArgument1)
642#define KAPC_OFFSET_TO_SYSTEMARGUMENT2 FIELD_OFFSET(KAPC, SystemArgument2)
643#define KAPC_OFFSET_TO_APCSTATEINDEX FIELD_OFFSET(KAPC, ApcStateIndex)
644#define KAPC_ACTUAL_LENGTH (FIELD_OFFSET(KAPC, Inserted) + sizeof(BOOLEAN))
683(
NTAPI KIPI_BROADCAST_WORKER)(
703#define LockQueueDispatcherLock 0
704#define LockQueueExpansionLock 1
705#define LockQueuePfnLock 2
706#define LockQueueSystemSpaceLock 3
707#define LockQueueVacbLock 4
708#define LockQueueMasterLock 5
709#define LockQueueNonPagedPoolLock 6
710#define LockQueueIoCancelLock 7
711#define LockQueueWorkQueueLock 8
712#define LockQueueIoVpbLock 9
713#define LockQueueIoDatabaseLock 10
714#define LockQueueIoCompletionLock 11
715#define LockQueueNtfsStructLock 12
716#define LockQueueAfdWorkQueueLock 13
717#define LockQueueBcbLock 14
718#define LockQueueMmNonPagedPoolLock 15
719#define LockQueueUnusedSpare16 16
720#define LockQueueTimerTableLock 17
721#define LockQueueMaximumLock (LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS)
753(
NTAPI KDEFERRED_ROUTINE)(
805#define TIMER_EXPIRED_INDEX_BITS 6
806#define TIMER_PROCESSOR_INDEX_BITS 5
823#if (NTDDI_VERSION < NTDDI_WIN7)
842#if (NTDDI_VERSION >= NTDDI_WIN7)
888#define KSEMAPHORE_ACTUAL_LENGTH (FIELD_OFFSET(KSEMAPHORE, Limit) + sizeof(LONG))
916#define TIMER_TABLE_SIZE 512
917#define TIMER_TABLE_SHIFT 9
924#if (NTDDI_VERSION >= NTDDI_WIN7) && !defined(_X86_)
936#define KTIMER_ACTUAL_LENGTH (FIELD_OFFSET(KTIMER, Period) + sizeof(LONG))
941(
NTAPI KSYNCHRONIZE_ROUTINE)(
979#define IsNEC_98 (FALSE)
983#define IsNotNEC_98 (TRUE)
1024 M128A FloatRegisters[8];
1026 M128A XmmRegisters[16];
1029 M128A XmmRegisters[8];
1031 ULONG StackControl[7];
1068#elif defined(_IA64_) || defined(_ARM_) || defined(_ARM64_)
1091#define MAXIMUM_SUPPORTED_EXTENSION 512
1093#if !defined(__midl) && !defined(MIDL_PASS)
1099#define XSAVE_ALIGN 64
1100#define MINIMAL_XSTATE_AREA_LENGTH sizeof(XSAVE_AREA)
1102#if !defined(__midl) && !defined(MIDL_PASS)
1119#define CONTEXT_EX_LENGTH ALIGN_UP_BY(sizeof(CONTEXT_EX), STACK_ALIGN)
1121#if (NTDDI_VERSION >= NTDDI_VISTA)
1123#elif (NTDDI_VERSION >= NTDDI_WINXP)
1181(
NTAPI EXPAND_STACK_CALLOUT)(
1196#if (NTDDI_VERSION >= NTDDI_WIN7)
1211typedef union _ARM64_NT_NEON128
1224#define ARM64_MAX_BREAKPOINTS 8
1225#define ARM64_MAX_WATCHPOINTS 2
1280#define XSTATE_LEGACY_FLOATING_POINT 0
1281#define XSTATE_LEGACY_SSE 1
1282#define XSTATE_GSSE 2
1283#define XSTATE_AVX XSTATE_GSSE
1284#define XSTATE_MPX_BNDREGS 3
1285#define XSTATE_MPX_BNDCSR 4
1286#define XSTATE_AVX512_KMASK 5
1287#define XSTATE_AVX512_ZMM_H 6
1288#define XSTATE_AVX512_ZMM 7
1290#define XSTATE_PASID 10
1291#define XSTATE_CET_U 11
1292#define XSTATE_CET_S 12
1293#define XSTATE_AMX_TILE_CONFIG 17
1294#define XSTATE_AMX_TILE_DATA 18
1295#define XSTATE_LWP 62
1296#define MAXIMUM_XSTATE_FEATURES 64
1298#define XSTATE_MASK_LEGACY_FLOATING_POINT (1LL << (XSTATE_LEGACY_FLOATING_POINT))
1299#define XSTATE_MASK_LEGACY_SSE (1LL << (XSTATE_LEGACY_SSE))
1300#define XSTATE_MASK_LEGACY (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE)
1301#define XSTATE_MASK_GSSE (1LL << (XSTATE_GSSE))
1302#define XSTATE_MASK_AVX XSTATE_MASK_GSSE
1303#define XSTATE_MASK_MPX ((1LL << (XSTATE_MPX_BNDREGS)) | (1LL << (XSTATE_MPX_BNDCSR)))
1304#define XSTATE_MASK_AVX512 ((1LL << (XSTATE_AVX512_KMASK)) | (1LL << (XSTATE_AVX512_ZMM_H)) | (1LL << (XSTATE_AVX512_ZMM)))
1305#define XSTATE_MASK_IPT (1LL << (XSTATE_IPT))
1306#define XSTATE_MASK_PASID (1LL << (XSTATE_PASID))
1307#define XSTATE_MASK_CET_U (1LL << (XSTATE_CET_U))
1308#define XSTATE_MASK_CET_S (1LL << (XSTATE_CET_S))
1309#define XSTATE_MASK_AMX_TILE_CONFIG (1LL << (XSTATE_AMX_TILE_CONFIG))
1310#define XSTATE_MASK_AMX_TILE_DATA (1LL << (XSTATE_AMX_TILE_DATA))
1311#define XSTATE_MASK_LWP (1LL << (XSTATE_LWP))
1314#define XSTATE_MASK_ALLOWED \
1315 (XSTATE_MASK_LEGACY | \
1318 XSTATE_MASK_AVX512 | \
1320 XSTATE_MASK_PASID | \
1321 XSTATE_MASK_CET_U | \
1322 XSTATE_MASK_AMX_TILE_CONFIG | \
1323 XSTATE_MASK_AMX_TILE_DATA | \
1326#define XSTATE_MASK_ALLOWED \
1327 (XSTATE_MASK_LEGACY | \
1330 XSTATE_MASK_AVX512 | \
1332 XSTATE_MASK_CET_U | \
1336#define XSTATE_MASK_PERSISTENT ((1LL << (XSTATE_MPX_BNDCSR)) | XSTATE_MASK_LWP)
1337#define XSTATE_MASK_USER_VISIBLE_SUPERVISOR (XSTATE_MASK_CET_U)
1338#define XSTATE_MASK_LARGE_FEATURES (XSTATE_MASK_AMX_TILE_DATA)
1341#if !defined(__midl) && !defined(MIDL_PASS)
1346#define XSTATE_COMPACTION_ENABLE 63
1347#define XSTATE_COMPACTION_ENABLE_MASK (1LL << (XSTATE_COMPACTION_ENABLE))
1348#define XSTATE_ALIGN_BIT 1
1349#define XSTATE_ALIGN_MASK (1LL << (XSTATE_ALIGN_BIT))
1351#define XSTATE_XFD_BIT 2
1352#define XSTATE_XFD_MASK (1LL << (XSTATE_XFD_BIT))
1354#define XSTATE_CONTROLFLAG_XSAVEOPT_MASK 1
1355#define XSTATE_CONTROLFLAG_XSAVEC_MASK 2
1356#define XSTATE_CONTROLFLAG_XFD_MASK 4
1357#define XSTATE_CONTROLFLAG_VALID_MASK \
1358 (XSTATE_CONTROLFLAG_XSAVEOPT_MASK | \
1359 XSTATE_CONTROLFLAG_XSAVEC_MASK | \
1360 XSTATE_CONTROLFLAG_XFD_MASK)
1362#define MAXIMUM_XSTATE_FEATURES 64
1372#if (NTDDI_VERSION >= NTDDI_WIN8) || defined(__REACTOS__)
1387#if (NTDDI_VERSION >= NTDDI_WIN10) || defined(__REACTOS__)
1393#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) || defined(__REACTOS__)
1396#if (NTDDI_VERSION >= NTDDI_WIN11) || defined(__REACTOS__)
1406#define MAX_WOW64_SHARED_ENTRIES 16
1411#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
1412#define NX_SUPPORT_POLICY_ALWAYSOFF 0
1413#define NX_SUPPORT_POLICY_ALWAYSON 1
1414#define NX_SUPPORT_POLICY_OPTIN 2
1415#define NX_SUPPORT_POLICY_OPTOUT 3
1437#if (NTDDI_VERSION >= NTDDI_WIN8)
1441 ULONG GlobalValidationRunlevel;
1443#if (NTDDI_VERSION >= NTDDI_WIN10)
1455#if (NTDDI_VERSION >= NTDDI_WIN8)
1465#if (NTDDI_VERSION >= NTDDI_WIN10)
1468 ULONG AltArchitecturePad[1];
1475 UCHAR MitigationPolicies;
1479 UCHAR SEHValidationPolicy : 2;
1480 UCHAR CurDirDevicesSkippedForDlls : 2;
1484#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
1496#if (NTDDI_VERSION == NTDDI_WIN7)
1502 UCHAR TscQpcEnabled:1;
1503 UCHAR TscQpcSpareFlag:1;
1504 UCHAR TscQpcShift:6;
1508#elif (NTDDI_VERSION >= NTDDI_WIN10_RS1)
1515 UCHAR ArchStartedInEl2 : 1;
1516 UCHAR QcSlIsSupported : 1;
1521 UCHAR Reserved12[2];
1523 UCHAR Reserved12[3];
1526#if (NTDDI_VERSION >= NTDDI_VISTA)
1533 ULONG DbgElevationEnabled : 1;
1536#if (NTDDI_VERSION >= NTDDI_WIN8)
1539 ULONG DbgSystemDllRelocated : 1;
1542#if (NTDDI_VERSION >= NTDDI_WIN8)
1545 ULONG DbgSEHValidationEnabled : 1;
1560#if (NTDDI_VERSION >= NTDDI_WIN8)
1564 ULONG SystemCallReturn;
1566#if (NTDDI_VERSION >= NTDDI_WIN10_TH2)
1568 ULONG SystemCallPad0;
1579 ULONG ReservedTickCountOverlay[3];
1580 ULONG TickCountPad[1];
1585#if (NTDDI_VERSION < NTDDI_VISTA)
1592#if (NTDDI_VERSION >= NTDDI_VISTA)
1597#if (NTDDI_VERSION >= NTDDI_WIN8)
1598#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1607#if (NTDDI_VERSION >= NTDDI_WIN10)
1614 ULONG QpcSystemTimeIncrement32;
1615 ULONG QpcInterruptTimeIncrement32;
1618#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1620 UCHAR Reserved8[12];
1622 UCHAR Reserved8[14];
1625#elif (NTDDI_VERSION >= NTDDI_VISTASP2)
1631#if (NTDDI_VERSION >= NTDDI_WIN7)
1635 ULONG HeapTracingPid[2];
1636 ULONG CritSecTracingPid[2];
1642#if (NTDDI_VERSION >= NTDDI_WIN8)
1644#elif (NTDDI_VERSION >= NTDDI_WIN7)
1660#if (NTDDI_VERSION >= NTDDI_WIN7)
1664#if (NTDDI_VERSION >= NTDDI_WIN8)
1685 ULONG SystemDllWowRelocation;
1694#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
1702#if (NTDDI_VERSION >= NTDDI_WIN11_NI)
1706#if (NTDDI_VERSION < NTDDI_WIN7) && defined(__REACTOS__)
1711#if (NTDDI_VERSION >= NTDDI_VISTA)
1713#elif (NTDDI_VERSION >= NTDDI_WINXP)
1721typedef struct _KAPC_STATE {
1729#define KAPC_STATE_ACTUAL_LENGTH (FIELD_OFFSET(KAPC_STATE, UserApcPending) + sizeof(BOOLEAN))
1731#define ASSERT_QUEUE(Q) ASSERT(((Q)->Header.Type & KOBJECT_TYPE_MASK) == QueueObject);
EXCEPTION_ROUTINE * PEXCEPTION_ROUTINE
#define DECLSPEC_ALIGN(x)
enum _NT_PRODUCT_TYPE NT_PRODUCT_TYPE
#define _IRQL_requires_same_
#define _IRQL_requires_(irql)
IN PFCB IN VBO OUT PLBO OUT PULONG OUT PBOOLEAN Allocated
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
VOID(NTAPI * PKRUNDOWN_ROUTINE)(IN struct _KAPC *Apc)
VOID(NTAPI * PKKERNEL_ROUTINE)(IN struct _KAPC *Apc, IN OUT PKNORMAL_ROUTINE *NormalRoutine OPTIONAL, IN OUT PVOID *NormalContext OPTIONAL, IN OUT PVOID *SystemArgument1 OPTIONAL, IN OUT PVOID *SystemArgument2 OPTIONAL)
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
#define _Struct_size_bytes_(s)
#define _Function_class_(n)
#define RESTRICTED_POINTER
_In_ ULONG _In_ ULONG _In_ ULONG Length
#define DECLSPEC_NOINITALL
#define _ANONYMOUS_STRUCT
#define ARM64_MAX_WATCHPOINTS
#define ARM64_MAX_BREAKPOINTS
PROCESSOR_CACHE_TYPE Type
PROCESSOR_CACHE_TYPE Type
struct _EXCEPTION_REGISTRATION_RECORD * Next
PEXCEPTION_ROUTINE Handler
PROCESSOR_GROUP_INFO GroupInfo[ANYSIZE_ARRAY]
PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine
_Field_size_bytes_opt_(Length) PVOID Buffer
_In_ KBUGCHECK_DUMP_IO_TYPE Type
KBUGCHECK_CALLBACK_REASON Reason
PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine
_In_ ULONG MaximumAllowed
_In_ ULONG InBufferLength
_Out_ ULONG OutBufferLength
LIST_ENTRY DeviceListEntry
LIST_ENTRY DeviceListHead
PKDEFERRED_ROUTINE DeferredRoutine
PROCESSOR_NUMBER ProcNumber
KE_PROCESSOR_CHANGE_NOTIFY_STATE State
_ANONYMOUS_UNION union _KGUARDED_MUTEX::@4610 DUMMYUNIONNAME
_ANONYMOUS_STRUCT struct _KGUARDED_MUTEX::@4610::@4611 DUMMYSTRUCTNAME
KSPIN_LOCK_QUEUE LockQueue
LIST_ENTRY MutantListEntry
struct _KTHREAD *RESTRICTED_POINTER OwnerThread
LIST_ENTRY ThreadListHead
volatile ULONG CurrentCount
struct _KSPIN_LOCK_QUEUE *volatile Next
PKSPIN_LOCK volatile Lock
LIST_ENTRY TimerListEntry
ULONG LangGenerationCount
UCHAR QpcInterruptTimeIncrementShift
XSTATE_CONFIGURATION XState
ULONG DbgStateSeparationEnabled
struct _KUSER_SHARED_DATA::@4209::@4213 DUMMYSTRUCTNAME
BOOLEAN ProductTypeIsValid
ULONG DbgInstallerDetectEnabled
volatile KSYSTEM_TIME SystemTime
volatile UCHAR ActiveGroupCount
LARGE_INTEGER TimeZoneBiasEffectiveStart
ULONGLONG QpcSystemTimeIncrement
ULONG TickCountLowDeprecated
NT_PRODUCT_TYPE NtProductType
ULONGLONG SystemCallPad[2]
ULONG DbgConsoleBrokerEnabled
ULONG ActiveProcessorCount
volatile ULONG TimeZoneBiasStamp
UCHAR VirtualizationFlags
ULONGLONG TestRetInstruction
ULONGLONG QpcInterruptTimeIncrement
volatile ULONG ActiveConsoleId
volatile ULONGLONG InterruptTimeBias
union _KUSER_SHARED_DATA::@4211 DUMMYUNIONNAME3
struct _KUSER_SHARED_DATA::@4208::@4212 DUMMYSTRUCTNAME2
BOOLEAN KdDebuggerEnabled
ULONGLONG BaselineSystemTimeQpc
ULONG TickCountMultiplier
LONGLONG ConsoleSessionForegroundProcessId
USHORT NativeProcessorArchitecture
union _KUSER_SHARED_DATA::@4210 DUMMYUNIONNAME
volatile ULONGLONG QpcBias
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX]
ULONG LastSystemRITEventTickCount
ULONG NumberOfPhysicalPages
ULONG DbgMultiUsersInSessionSku
volatile ULONG64 TickCountQuad
volatile KSYSTEM_TIME TickCount
volatile KSYSTEM_TIME InterruptTime
ULONG DbgSecureBootEnabled
UCHAR volatile QpcBypassEnabled
LARGE_INTEGER SystemExpirationDate
ULONG ActiveProcessorAffinity
UCHAR QpcSystemTimeIncrementShift
ULONG DbgErrorPortPresent
union _KUSER_SHARED_DATA::@4208 DUMMYUNIONNAME2
ULONG ImageFileExecutionOptions
USHORT UnparkedProcessorCount
ULONG EnclaveFeatureMask[4]
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture
volatile ULONG DismountCount
volatile KSYSTEM_TIME TimeZoneBias
LARGE_INTEGER TimeZoneBiasEffectiveEnd
ULONGLONG BaselineInterruptTimeQpc
ULONG DbgDynProcessorEnabled
USHORT UserModeGlobalLogger[16]
ULONG TelemetryCoverageRound
volatile UCHAR BlockState
struct _KQUEUE * NotificationQueue
ULONG ArbitraryUserPointer
_ANONYMOUS_UNION union _NT_TIB32::@4613 DUMMYUNIONNAME
ULONG64 ArbitraryUserPointer
_ANONYMOUS_UNION union _NT_TIB64::@4614 DUMMYUNIONNAME
PVOID ArbitraryUserPointer
union _NT_TIB::@348 DUMMYUNIONNAME
struct _EXCEPTION_REGISTRATION_RECORD * ExceptionList
_Field_size_(GroupCount) GROUP_AFFINITY GroupMask[ANYSIZE_ARRAY]
_In_opt_ PVOID TimerContext
_In_opt_ PTIMER_APC_ROUTINE TimerApcRoutine
_In_opt_ struct _COUNTED_REASON_CONTEXT * WakeContext
_Out_opt_ PBOOLEAN PreviousState
_In_ LARGE_INTEGER DueTime
_In_ ULONG TolerableDelay
XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]
ULONG64 EnabledSupervisorFeatures
ULONG64 EnabledVolatileFeatures
ULONG64 EnabledUserVisibleSupervisorFeatures
ULONG ExtendedFeatureDisable
ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES]
ULONG AllNonLargeFeatureSize
ULONG64 ExtendedFeatureDisableFeatures
_Field_size_bytes_opt_(Length) PXSAVE_AREA Area
#define FIELD_OFFSET(t, f)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
#define PROCESSOR_FEATURE_MAX
struct _KSYSTEM_TIME KSYSTEM_TIME
_ALTERNATIVE_ARCHITECTURE_TYPE
struct _KSYSTEM_TIME * PKSYSTEM_TIME
enum _ALTERNATIVE_ARCHITECTURE_TYPE ALTERNATIVE_ARCHITECTURE_TYPE
#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name)
_Reserved_ PVOID Reserved
enum _KPROFILE_SOURCE KPROFILE_SOURCE
VOID(CALLBACK * PTIMER_APC_ROUTINE)(PVOID, ULONG, LONG)
@ ProfileIntegerInstructions
@ ProfileBranchMispredictions
@ ProfileStoreInstructions
@ ProfileMemoryBarrierCycles
@ ProfileLoadLinkedIssues
@ ProfileSpecialInstructions
@ ProfileBranchInstructions
@ ProfileLoadInstructions
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR _In_ ULONGLONG _In_ ULONGLONG _In_opt_ PEVENT_FILTER_DESCRIPTOR _Inout_opt_ PVOID CallbackContext
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
#define MAXIMUM_SUPPORTED_EXTENSION
_In_ PKSYNCHRONIZE_ROUTINE _In_opt_ __drv_aliasesMem PVOID SynchronizeContext
struct _KSEMAPHORE * PKSEMAPHORE
struct _KWAIT_BLOCK * PRKWAIT_BLOCK
struct _KBUGCHECK_DUMP_IO KBUGCHECK_DUMP_IO
struct _XSTATE_CONFIGURATION * PXSTATE_CONFIGURATION
$if(_WDMDDK_) typedef UCHAR KIRQL
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX * PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
struct _KIPI_COUNTS KIPI_COUNTS
enum _KSPIN_LOCK_QUEUE_NUMBER KSPIN_LOCK_QUEUE_NUMBER
NTSYSAPI volatile CCHAR KeNumberProcessors
struct _CONTEXT_CHUNK * PCONTEXT_CHUNK
PROCESSOR_CALLBACK_FUNCTION * PPROCESSOR_CALLBACK_FUNCTION
_KBUGCHECK_BUFFER_DUMP_STATE
struct _KDEVICE_QUEUE_ENTRY * PKDEVICE_QUEUE_ENTRY
struct _XSTATE_FEATURE XSTATE_FEATURE
enum _KE_PROCESSOR_CHANGE_NOTIFY_STATE KE_PROCESSOR_CHANGE_NOTIFY_STATE
enum _CPU_SET_INFORMATION_TYPE * PCPU_SET_INFORMATION_TYPE
enum _KD_OPTION KD_OPTION
*RESTRICTED_POINTER PRKAPC_STATE
* PSYSTEM_CPU_SET_INFORMATION
struct _KBUGCHECK_CALLBACK_RECORD * PKBUGCHECK_CALLBACK_RECORD
KSTART_ROUTINE * PKSTART_ROUTINE
struct _KBUGCHECK_SECONDARY_DUMP_DATA KBUGCHECK_SECONDARY_DUMP_DATA
struct _KLOCK_QUEUE_HANDLE * PKLOCK_QUEUE_HANDLE
struct _KMUTANT PRKMUTANT
NMI_CALLBACK * PNMI_CALLBACK
enum _KSPIN_LOCK_QUEUE_NUMBER * PKSPIN_LOCK_QUEUE_NUMBER
XSAVE_FORMAT XMM_SAVE_AREA32
enum _KBUGCHECK_DUMP_IO_TYPE KBUGCHECK_DUMP_IO_TYPE
@ NonPagedPoolBaseCacheAlignedMustS
@ NonPagedPoolCacheAlignedSession
@ NonPagedPoolBaseMustSucceed
@ NonPagedPoolCacheAligned
@ NonPagedPoolCacheAlignedMustS
@ NonPagedPoolBaseCacheAligned
@ PagedPoolCacheAlignedSession
@ NonPagedPoolCacheAlignedMustSSession
@ NonPagedPoolMustSucceed
@ NonPagedPoolMustSucceedSession
_CPU_SET_INFORMATION_TYPE
struct _KSEMAPHORE PRKSEMAPHORE
struct _XSTATE_FEATURE * PXSTATE_FEATURE
struct _NUMA_NODE_RELATIONSHIP * PNUMA_NODE_RELATIONSHIP
struct _KLOCK_QUEUE_HANDLE KLOCK_QUEUE_HANDLE
enum _KINTERRUPT_MODE KINTERRUPT_MODE
struct _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT * PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD _Inout_ PVOID _In_ ULONG ReasonSpecificDataLength
struct _NT_TIB64 NT_TIB64
struct _XSTATE_SAVE XSTATE_SAVE
XSAVE_FORMAT * PXMM_SAVE_AREA32
struct _CONTEXT_EX CONTEXT_EX
KSERVICE_ROUTINE * PKSERVICE_ROUTINE
struct _CACHE_DESCRIPTOR * PCACHE_DESCRIPTOR
struct _CONTEXT_EX * PCONTEXT_EX
struct _KDEVICE_QUEUE * PKDEVICE_QUEUE
struct _GROUP_RELATIONSHIP * PGROUP_RELATIONSHIP
struct _CACHE_DESCRIPTOR CACHE_DESCRIPTOR
struct _KBUGCHECK_DUMP_IO * PKBUGCHECK_DUMP_IO
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD _Inout_ PVOID ReasonSpecificData
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT _Inout_ PNTSTATUS OperationStatus
enum _POOL_TYPE POOL_TYPE
enum _LOCK_OPERATION LOCK_OPERATION
@ InterruptPolarityUnknown
struct _CACHE_RELATIONSHIP * PCACHE_RELATIONSHIP
struct _KDEVICE_QUEUE_ENTRY PRKDEVICE_QUEUE_ENTRY
struct _KGUARDED_MUTEX * PKGUARDED_MUTEX
struct _TIMER_SET_COALESCABLE_TIMER_INFO TIMER_SET_COALESCABLE_TIMER_INFO
#define MAX_WOW64_SHARED_ENTRIES
SYSTEM_CPU_SET_INFORMATION
struct _NUMA_NODE_RELATIONSHIP NUMA_NODE_RELATIONSHIP
struct _KBUGCHECK_REASON_CALLBACK_RECORD KBUGCHECK_REASON_CALLBACK_RECORD
struct _KMUTANT * PKMUTEX
EXCEPTION_REGISTRATION_RECORD
enum _PROCESSOR_CACHE_TYPE PROCESSOR_CACHE_TYPE
#define MAXIMUM_XSTATE_FEATURES
struct _KBUGCHECK_REASON_CALLBACK_RECORD * PKBUGCHECK_REASON_CALLBACK_RECORD
#define LOCK_QUEUE_TIMER_TABLE_LOCKS
enum _KDPC_IMPORTANCE KDPC_IMPORTANCE
struct _KBUGCHECK_ADD_PAGES KBUGCHECK_ADD_PAGES
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
KSYNCHRONIZE_ROUTINE * PKSYNCHRONIZE_ROUTINE
* PEXCEPTION_REGISTRATION_RECORD
struct _KMUTANT * PKMUTANT
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT ChangeContext
KMESSAGE_SERVICE_ROUTINE * PKMESSAGE_SERVICE_ROUTINE
KBUGCHECK_CALLBACK_ROUTINE * PKBUGCHECK_CALLBACK_ROUTINE
struct _DISPATCHER_HEADER * PDISPATCHER_HEADER
struct _NT_TIB32 NT_TIB32
struct _KBUGCHECK_CALLBACK_RECORD KBUGCHECK_CALLBACK_RECORD
struct _KWAIT_BLOCK KWAIT_BLOCK
struct _PROCESSOR_RELATIONSHIP * PPROCESSOR_RELATIONSHIP
#define TIMER_EXPIRED_INDEX_BITS
struct _KDEVICE_QUEUE_ENTRY KDEVICE_QUEUE_ENTRY
struct _KSPIN_LOCK_QUEUE * PKSPIN_LOCK_QUEUE
struct _KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT KE_PROCESSOR_CHANGE_NOTIFY_CONTEXT
struct _KSPIN_LOCK_QUEUE KSPIN_LOCK_QUEUE
struct _KDEVICE_QUEUE PRKDEVICE_QUEUE
enum _KINTERRUPT_POLARITY KINTERRUPT_POLARITY
struct _GROUP_RELATIONSHIP GROUP_RELATIONSHIP
#define XSTATE_MASK_LARGE_FEATURES
_TIMER_SET_INFORMATION_CLASS
@ TimerSetCoalescableTimer
_LOGICAL_PROCESSOR_RELATIONSHIP
@ RelationProcessorModule
@ RelationProcessorPackage
#define TIMER_PROCESSOR_INDEX_BITS
struct _CONTEXT_CHUNK CONTEXT_CHUNK
_In_opt_ PVOID DeferredContext
struct _XSTATE_CONFIGURATION XSTATE_CONFIGURATION
struct _TIMER_SET_COALESCABLE_TIMER_INFO * PTIMER_SET_COALESCABLE_TIMER_INFO
struct _KIPI_COUNTS * PKIPI_COUNTS
struct _XSTATE_SAVE * PXSTATE_SAVE
struct _KBUGCHECK_ADD_PAGES * PKBUGCHECK_ADD_PAGES
VOID(NTAPI * PKIPI_WORKER)(IN OUT PKIPI_CONTEXT PacketContext, IN PVOID Parameter1 OPTIONAL, IN PVOID Parameter2 OPTIONAL, IN PVOID Parameter3 OPTIONAL)
struct _KDEVICE_QUEUE KDEVICE_QUEUE
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD * Record
_KE_PROCESSOR_CHANGE_NOTIFY_STATE
@ KeProcessorAddCompleteNotify
@ KeProcessorAddFailureNotify
@ KeProcessorAddStartNotify
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION SYSTEM_LOGICAL_PROCESSOR_INFORMATION
struct _PROCESSOR_RELATIONSHIP PROCESSOR_RELATIONSHIP
KIPI_BROADCAST_WORKER * PKIPI_BROADCAST_WORKER
KBUGCHECK_CALLBACK_REASON
struct _KSEMAPHORE KSEMAPHORE
enum _KINTERRUPT_POLARITY * PKINTERRUPT_POLARITY
@ LockQueueNtfsStructLock
@ LockQueueTimerTableLock
@ LockQueueNonPagedPoolLock
@ LockQueueSystemSpaceLock
@ LockQueueDispatcherLock
@ LockQueueIoDatabaseLock
@ LockQueueMmNonPagedPoolLock
@ LockQueueIoCompletionLock
@ LockQueueAfdWorkQueueLock
enum _CPU_SET_INFORMATION_TYPE CPU_SET_INFORMATION_TYPE
enum _KBUGCHECK_BUFFER_DUMP_STATE KBUGCHECK_BUFFER_DUMP_STATE
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
_In_ PVOID _In_ ULONG MessageID
VOID(NTAPI * PKINTERRUPT_ROUTINE)(VOID)
struct _NT_TIB32 * PNT_TIB32
enum _LOGICAL_PROCESSOR_RELATIONSHIP LOGICAL_PROCESSOR_RELATIONSHIP
struct _KDPC_WATCHDOG_INFORMATION * PKDPC_WATCHDOG_INFORMATION
enum _TIMER_SET_INFORMATION_CLASS TIMER_SET_INFORMATION_CLASS
struct _KWAIT_BLOCK * PKWAIT_BLOCK
KBUGCHECK_REASON_CALLBACK_ROUTINE * PKBUGCHECK_REASON_CALLBACK_ROUTINE
enum _KWAIT_REASON KWAIT_REASON
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
_In_ PVOID ServiceContext
$endif(_WDMDDK_) $if(_WDMDDK_||_WINNT_) typedef struct _PROCESSOR_GROUP_INFO
EXPAND_STACK_CALLOUT * PEXPAND_STACK_CALLOUT
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION * PSYSTEM_LOGICAL_PROCESSOR_INFORMATION
@ KD_OPTION_SET_BLOCK_ENABLE
#define MINIMAL_XSTATE_AREA_LENGTH
struct _KBUGCHECK_SECONDARY_DUMP_DATA * PKBUGCHECK_SECONDARY_DUMP_DATA
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
struct _XSTATE_CONTEXT * PXSTATE_CONTEXT
struct _NT_TIB64 * PNT_TIB64
struct _KDPC_WATCHDOG_INFORMATION KDPC_WATCHDOG_INFORMATION
VOID(NTAPI * PTIMER_APC_ROUTINE)(_In_ PVOID TimerContext, _In_ ULONG TimerLowValue, _In_ LONG TimerHighValue)
struct _XSTATE_CONTEXT XSTATE_CONTEXT
struct _KGUARDED_MUTEX KGUARDED_MUTEX
struct _CACHE_RELATIONSHIP CACHE_RELATIONSHIP
struct _DISPATCHER_HEADER DISPATCHER_HEADER
_Inout_opt_ PVOID Parameter
_In_ PLARGE_INTEGER _In_opt_ PTIMER_APC_ROUTINE _In_opt_ PVOID TimerContext