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
509#if (NTDDI_VERSION >= NTDDI_WIN8)
528#if (NTDDI_VERSION >= NTDDI_WIN7)
544#define THREAD_WAIT_OBJECTS 3
549(
NTAPI KSTART_ROUTINE)(
561(
NTAPI KSERVICE_ROUTINE)(
569(
NTAPI KMESSAGE_SERVICE_ROUTINE)(
622#define KAPC_OFFSET_TO_SPARE_BYTE0 FIELD_OFFSET(KAPC, SpareByte0)
623#define KAPC_OFFSET_TO_SPARE_BYTE1 FIELD_OFFSET(KAPC, SpareByte1)
624#define KAPC_OFFSET_TO_SPARE_LONG FIELD_OFFSET(KAPC, SpareLong0)
625#define KAPC_OFFSET_TO_SYSTEMARGUMENT1 FIELD_OFFSET(KAPC, SystemArgument1)
626#define KAPC_OFFSET_TO_SYSTEMARGUMENT2 FIELD_OFFSET(KAPC, SystemArgument2)
627#define KAPC_OFFSET_TO_APCSTATEINDEX FIELD_OFFSET(KAPC, ApcStateIndex)
628#define KAPC_ACTUAL_LENGTH (FIELD_OFFSET(KAPC, Inserted) + sizeof(BOOLEAN))
667(
NTAPI KIPI_BROADCAST_WORKER)(
687#define LockQueueDispatcherLock 0
688#define LockQueueExpansionLock 1
689#define LockQueuePfnLock 2
690#define LockQueueSystemSpaceLock 3
691#define LockQueueVacbLock 4
692#define LockQueueMasterLock 5
693#define LockQueueNonPagedPoolLock 6
694#define LockQueueIoCancelLock 7
695#define LockQueueWorkQueueLock 8
696#define LockQueueIoVpbLock 9
697#define LockQueueIoDatabaseLock 10
698#define LockQueueIoCompletionLock 11
699#define LockQueueNtfsStructLock 12
700#define LockQueueAfdWorkQueueLock 13
701#define LockQueueBcbLock 14
702#define LockQueueMmNonPagedPoolLock 15
703#define LockQueueUnusedSpare16 16
704#define LockQueueTimerTableLock 17
705#define LockQueueMaximumLock (LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS)
737(
NTAPI KDEFERRED_ROUTINE)(
789#define TIMER_EXPIRED_INDEX_BITS 6
790#define TIMER_PROCESSOR_INDEX_BITS 5
807#if (NTDDI_VERSION < NTDDI_WIN7)
826#if (NTDDI_VERSION >= NTDDI_WIN7)
872#define KSEMAPHORE_ACTUAL_LENGTH (FIELD_OFFSET(KSEMAPHORE, Limit) + sizeof(LONG))
900#define TIMER_TABLE_SIZE 512
901#define TIMER_TABLE_SHIFT 9
908#if (NTDDI_VERSION >= NTDDI_WIN7) && !defined(_X86_)
920#define KTIMER_ACTUAL_LENGTH (FIELD_OFFSET(KTIMER, Period) + sizeof(LONG))
925(
NTAPI KSYNCHRONIZE_ROUTINE)(
963#define IsNEC_98 (FALSE)
967#define IsNotNEC_98 (TRUE)
1008 M128A FloatRegisters[8];
1010 M128A XmmRegisters[16];
1013 M128A XmmRegisters[8];
1015 ULONG StackControl[7];
1052#elif defined(_IA64_) || defined(_ARM_) || defined(_ARM64_)
1075#define MAXIMUM_SUPPORTED_EXTENSION 512
1077#if !defined(__midl) && !defined(MIDL_PASS)
1083#define XSAVE_ALIGN 64
1084#define MINIMAL_XSTATE_AREA_LENGTH sizeof(XSAVE_AREA)
1086#if !defined(__midl) && !defined(MIDL_PASS)
1103#define CONTEXT_EX_LENGTH ALIGN_UP_BY(sizeof(CONTEXT_EX), STACK_ALIGN)
1105#if (NTDDI_VERSION >= NTDDI_VISTA)
1107#elif (NTDDI_VERSION >= NTDDI_WINXP)
1165(
NTAPI EXPAND_STACK_CALLOUT)(
1180#if (NTDDI_VERSION >= NTDDI_WIN7)
1195typedef union _ARM64_NT_NEON128
1208#define ARM64_MAX_BREAKPOINTS 8
1209#define ARM64_MAX_WATCHPOINTS 2
1264#define XSTATE_LEGACY_FLOATING_POINT 0
1265#define XSTATE_LEGACY_SSE 1
1266#define XSTATE_GSSE 2
1267#define XSTATE_AVX XSTATE_GSSE
1268#define XSTATE_MPX_BNDREGS 3
1269#define XSTATE_MPX_BNDCSR 4
1270#define XSTATE_AVX512_KMASK 5
1271#define XSTATE_AVX512_ZMM_H 6
1272#define XSTATE_AVX512_ZMM 7
1274#define XSTATE_PASID 10
1275#define XSTATE_CET_U 11
1276#define XSTATE_CET_S 12
1277#define XSTATE_AMX_TILE_CONFIG 17
1278#define XSTATE_AMX_TILE_DATA 18
1279#define XSTATE_LWP 62
1280#define MAXIMUM_XSTATE_FEATURES 64
1282#define XSTATE_MASK_LEGACY_FLOATING_POINT (1LL << (XSTATE_LEGACY_FLOATING_POINT))
1283#define XSTATE_MASK_LEGACY_SSE (1LL << (XSTATE_LEGACY_SSE))
1284#define XSTATE_MASK_LEGACY (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE)
1285#define XSTATE_MASK_GSSE (1LL << (XSTATE_GSSE))
1286#define XSTATE_MASK_AVX XSTATE_MASK_GSSE
1287#define XSTATE_MASK_MPX ((1LL << (XSTATE_MPX_BNDREGS)) | (1LL << (XSTATE_MPX_BNDCSR)))
1288#define XSTATE_MASK_AVX512 ((1LL << (XSTATE_AVX512_KMASK)) | (1LL << (XSTATE_AVX512_ZMM_H)) | (1LL << (XSTATE_AVX512_ZMM)))
1289#define XSTATE_MASK_IPT (1LL << (XSTATE_IPT))
1290#define XSTATE_MASK_PASID (1LL << (XSTATE_PASID))
1291#define XSTATE_MASK_CET_U (1LL << (XSTATE_CET_U))
1292#define XSTATE_MASK_CET_S (1LL << (XSTATE_CET_S))
1293#define XSTATE_MASK_AMX_TILE_CONFIG (1LL << (XSTATE_AMX_TILE_CONFIG))
1294#define XSTATE_MASK_AMX_TILE_DATA (1LL << (XSTATE_AMX_TILE_DATA))
1295#define XSTATE_MASK_LWP (1LL << (XSTATE_LWP))
1298#define XSTATE_MASK_ALLOWED \
1299 (XSTATE_MASK_LEGACY | \
1302 XSTATE_MASK_AVX512 | \
1304 XSTATE_MASK_PASID | \
1305 XSTATE_MASK_CET_U | \
1306 XSTATE_MASK_AMX_TILE_CONFIG | \
1307 XSTATE_MASK_AMX_TILE_DATA | \
1310#define XSTATE_MASK_ALLOWED \
1311 (XSTATE_MASK_LEGACY | \
1314 XSTATE_MASK_AVX512 | \
1316 XSTATE_MASK_CET_U | \
1320#define XSTATE_MASK_PERSISTENT ((1LL << (XSTATE_MPX_BNDCSR)) | XSTATE_MASK_LWP)
1321#define XSTATE_MASK_USER_VISIBLE_SUPERVISOR (XSTATE_MASK_CET_U)
1322#define XSTATE_MASK_LARGE_FEATURES (XSTATE_MASK_AMX_TILE_DATA)
1325#if !defined(__midl) && !defined(MIDL_PASS)
1330#define XSTATE_COMPACTION_ENABLE 63
1331#define XSTATE_COMPACTION_ENABLE_MASK (1LL << (XSTATE_COMPACTION_ENABLE))
1332#define XSTATE_ALIGN_BIT 1
1333#define XSTATE_ALIGN_MASK (1LL << (XSTATE_ALIGN_BIT))
1335#define XSTATE_XFD_BIT 2
1336#define XSTATE_XFD_MASK (1LL << (XSTATE_XFD_BIT))
1338#define XSTATE_CONTROLFLAG_XSAVEOPT_MASK 1
1339#define XSTATE_CONTROLFLAG_XSAVEC_MASK 2
1340#define XSTATE_CONTROLFLAG_XFD_MASK 4
1341#define XSTATE_CONTROLFLAG_VALID_MASK \
1342 (XSTATE_CONTROLFLAG_XSAVEOPT_MASK | \
1343 XSTATE_CONTROLFLAG_XSAVEC_MASK | \
1344 XSTATE_CONTROLFLAG_XFD_MASK)
1346#define MAXIMUM_XSTATE_FEATURES 64
1356#if (NTDDI_VERSION >= NTDDI_WIN8) || defined(__REACTOS__)
1371#if (NTDDI_VERSION >= NTDDI_WIN10) || defined(__REACTOS__)
1377#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) || defined(__REACTOS__)
1380#if (NTDDI_VERSION >= NTDDI_WIN11) || defined(__REACTOS__)
1390#define MAX_WOW64_SHARED_ENTRIES 16
1395#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
1396#define NX_SUPPORT_POLICY_ALWAYSOFF 0
1397#define NX_SUPPORT_POLICY_ALWAYSON 1
1398#define NX_SUPPORT_POLICY_OPTIN 2
1399#define NX_SUPPORT_POLICY_OPTOUT 3
1421#if (NTDDI_VERSION >= NTDDI_WIN8)
1425 ULONG GlobalValidationRunlevel;
1427#if (NTDDI_VERSION >= NTDDI_WIN10)
1439#if (NTDDI_VERSION >= NTDDI_WIN8)
1449#if (NTDDI_VERSION >= NTDDI_WIN10)
1452 ULONG AltArchitecturePad[1];
1459 UCHAR MitigationPolicies;
1463 UCHAR SEHValidationPolicy : 2;
1464 UCHAR CurDirDevicesSkippedForDlls : 2;
1468#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
1480#if (NTDDI_VERSION == NTDDI_WIN7)
1486 UCHAR TscQpcEnabled:1;
1487 UCHAR TscQpcSpareFlag:1;
1488 UCHAR TscQpcShift:6;
1492#elif (NTDDI_VERSION >= NTDDI_WIN10_RS1)
1499 UCHAR ArchStartedInEl2 : 1;
1500 UCHAR QcSlIsSupported : 1;
1505 UCHAR Reserved12[2];
1507 UCHAR Reserved12[3];
1510#if (NTDDI_VERSION >= NTDDI_VISTA)
1517 ULONG DbgElevationEnabled : 1;
1520#if (NTDDI_VERSION >= NTDDI_WIN8)
1523 ULONG DbgSystemDllRelocated : 1;
1526#if (NTDDI_VERSION >= NTDDI_WIN8)
1529 ULONG DbgSEHValidationEnabled : 1;
1544#if (NTDDI_VERSION >= NTDDI_WIN8)
1548 ULONG SystemCallReturn;
1550#if (NTDDI_VERSION >= NTDDI_WIN10_TH2)
1552 ULONG SystemCallPad0;
1563 ULONG ReservedTickCountOverlay[3];
1564 ULONG TickCountPad[1];
1569#if (NTDDI_VERSION < NTDDI_VISTA)
1576#if (NTDDI_VERSION >= NTDDI_VISTA)
1581#if (NTDDI_VERSION >= NTDDI_WIN8)
1582#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1591#if (NTDDI_VERSION >= NTDDI_WIN10)
1598 ULONG QpcSystemTimeIncrement32;
1599 ULONG QpcInterruptTimeIncrement32;
1602#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1604 UCHAR Reserved8[12];
1606 UCHAR Reserved8[14];
1609#elif (NTDDI_VERSION >= NTDDI_VISTASP2)
1615#if (NTDDI_VERSION >= NTDDI_WIN7)
1619 ULONG HeapTracingPid[2];
1620 ULONG CritSecTracingPid[2];
1626#if (NTDDI_VERSION >= NTDDI_WIN8)
1628#elif (NTDDI_VERSION >= NTDDI_WIN7)
1644#if (NTDDI_VERSION >= NTDDI_WIN7)
1648#if (NTDDI_VERSION >= NTDDI_WIN8)
1669 ULONG SystemDllWowRelocation;
1678#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
1686#if (NTDDI_VERSION >= NTDDI_WIN11_NI)
1690#if (NTDDI_VERSION < NTDDI_WIN7) && defined(__REACTOS__)
1695#if (NTDDI_VERSION >= NTDDI_VISTA)
1697#elif (NTDDI_VERSION >= NTDDI_WINXP)
1705typedef struct _KAPC_STATE {
1713#define KAPC_STATE_ACTUAL_LENGTH (FIELD_OFFSET(KAPC_STATE, UserApcPending) + sizeof(BOOLEAN))
1715#define ASSERT_QUEUE(Q) ASSERT(((Q)->Header.Type & KOBJECT_TYPE_MASK) == QueueObject);
EXCEPTION_ROUTINE * PEXCEPTION_ROUTINE
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
enum _KPROFILE_SOURCE KPROFILE_SOURCE
VOID(CALLBACK * PTIMER_APC_ROUTINE)(PVOID, ULONG, LONG)
@ ProfileIntegerInstructions
@ ProfileBranchMispredictions
@ ProfileStoreInstructions
@ ProfileMemoryBarrierCycles
@ ProfileLoadLinkedIssues
@ ProfileSpecialInstructions
@ ProfileBranchInstructions
@ ProfileLoadInstructions
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
#define DECLSPEC_ALIGN(x)
_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::@4421 DUMMYUNIONNAME
_ANONYMOUS_STRUCT struct _KGUARDED_MUTEX::@4421::@4422 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
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
union _KUSER_SHARED_DATA::@4034 DUMMYUNIONNAME2
ULONGLONG TestRetInstruction
struct _KUSER_SHARED_DATA::@4035::@4039 DUMMYSTRUCTNAME
ULONGLONG QpcInterruptTimeIncrement
volatile ULONG ActiveConsoleId
volatile ULONGLONG InterruptTimeBias
BOOLEAN KdDebuggerEnabled
ULONGLONG BaselineSystemTimeQpc
ULONG TickCountMultiplier
LONGLONG ConsoleSessionForegroundProcessId
USHORT NativeProcessorArchitecture
volatile ULONGLONG QpcBias
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX]
ULONG LastSystemRITEventTickCount
ULONG NumberOfPhysicalPages
ULONG DbgMultiUsersInSessionSku
union _KUSER_SHARED_DATA::@4037 DUMMYUNIONNAME3
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
ULONG ImageFileExecutionOptions
USHORT UnparkedProcessorCount
ULONG EnclaveFeatureMask[4]
struct _KUSER_SHARED_DATA::@4034::@4038 DUMMYSTRUCTNAME2
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture
volatile ULONG DismountCount
volatile KSYSTEM_TIME TimeZoneBias
LARGE_INTEGER TimeZoneBiasEffectiveEnd
ULONGLONG BaselineInterruptTimeQpc
union _KUSER_SHARED_DATA::@4036 DUMMYUNIONNAME
ULONG DbgDynProcessorEnabled
USHORT UserModeGlobalLogger[16]
ULONG TelemetryCoverageRound
volatile UCHAR BlockState
struct _KQUEUE * NotificationQueue
ULONG ArbitraryUserPointer
_ANONYMOUS_UNION union _NT_TIB32::@4424 DUMMYUNIONNAME
_ANONYMOUS_UNION union _NT_TIB64::@4425 DUMMYUNIONNAME
ULONG64 ArbitraryUserPointer
PVOID ArbitraryUserPointer
union _NT_TIB::@394 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
_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