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
#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
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
_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::@4397 DUMMYUNIONNAME
_ANONYMOUS_STRUCT struct _KGUARDED_MUTEX::@4397::@4398 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
union _KUSER_SHARED_DATA::@4012 DUMMYUNIONNAME
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
struct _KUSER_SHARED_DATA::@4010::@4014 DUMMYSTRUCTNAME2
ULONG ActiveProcessorCount
volatile ULONG TimeZoneBiasStamp
UCHAR VirtualizationFlags
ULONGLONG TestRetInstruction
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
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::@4013 DUMMYUNIONNAME3
ULONG ImageFileExecutionOptions
union _KUSER_SHARED_DATA::@4010 DUMMYUNIONNAME2
USHORT UnparkedProcessorCount
struct _KUSER_SHARED_DATA::@4011::@4015 DUMMYSTRUCTNAME
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::@4400 DUMMYUNIONNAME
ULONG64 ArbitraryUserPointer
_ANONYMOUS_UNION union _NT_TIB64::@4401 DUMMYUNIONNAME
PVOID ArbitraryUserPointer
union _NT_TIB::@346 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