ReactOS 0.4.16-dev-1946-g52006dd
ketypes.h
Go to the documentation of this file.
1/******************************************************************************
2 * Kernel Types *
3 ******************************************************************************/
5
6typedef UCHAR KIRQL, *PKIRQL;
8typedef LONG KPRIORITY;
9
10typedef enum _MODE {
15
16#define CACHE_FULLY_ASSOCIATIVE 0xFF
17#define MAXIMUM_SUSPEND_COUNT MAXCHAR
18
19#define EVENT_QUERY_STATE (0x0001)
20#define EVENT_MODIFY_STATE (0x0002)
21#define EVENT_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)
22
23#define LTP_PC_SMT 0x1
24
25#if (NTDDI_VERSION < NTDDI_WIN7) || defined(_X86_) || !defined(NT_PROCESSOR_GROUPS)
26#define SINGLE_GROUP_LEGACY_API 1
27#endif
28
29#define SEMAPHORE_QUERY_STATE (0x0001)
30#define SEMAPHORE_MODIFY_STATE (0x0002)
31#define SEMAPHORE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3)
32
35
36typedef struct _PROCESSOR_GROUP_INFO {
37 UCHAR MaximumProcessorCount;
38 UCHAR ActiveProcessorCount;
39 UCHAR Reserved[38];
40 KAFFINITY ActiveProcessorMask;
42
49
50typedef struct _CACHE_DESCRIPTOR {
57
63
64typedef struct _CACHE_RELATIONSHIP {
73
74typedef struct _GROUP_RELATIONSHIP {
80
90 RelationAll = 0xffff
92
100
104 _ANONYMOUS_UNION union {
105 struct {
108 struct {
115
119 _ANONYMOUS_UNION union {
126
128{
131
133typedef struct _SYSTEM_CPU_SET_INFORMATION
134{
135 ULONG Size;
137 union
138 {
139 struct
140 {
141 ULONG Id;
143 UCHAR LogicalProcessorIndex;
144 UCHAR CoreIndex;
145 UCHAR LastLevelCacheIndex;
146 UCHAR NumaNodeIndex;
147 UCHAR EfficiencyClass;
148 union
149 {
150 UCHAR AllFlags;
151 struct
152 {
153 UCHAR Parked : 1;
154 UCHAR Allocated : 1;
155 UCHAR AllocatedToTargetProcess : 1;
156 UCHAR RealTime : 1;
157 UCHAR ReservedFlags : 4;
160 union
161 {
163 UCHAR SchedulingClass;
164 };
165 ULONG64 AllocationTag;
166 } CpuSet;
169
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
174
175/* Processor features */
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
220
223
224#define MAXIMUM_WAIT_OBJECTS 64
225
226#define ASSERT_APC(Object) \
227 NT_ASSERT((Object)->Type == ApcObject)
228
229#define ASSERT_DPC(Object) \
230 NT_ASSERT(((Object)->Type == 0) || \
231 ((Object)->Type == DpcObject) || \
232 ((Object)->Type == ThreadedDpcObject))
233
234#define ASSERT_GATE(Object) \
235 NT_ASSERT((((Object)->Header.Type & KOBJECT_TYPE_MASK) == GateObject) || \
236 (((Object)->Header.Type & KOBJECT_TYPE_MASK) == EventSynchronizationObject))
237
238#define ASSERT_DEVICE_QUEUE(Object) \
239 NT_ASSERT((Object)->Type == DeviceQueueObject)
240
241#define ASSERT_TIMER(Object) \
242 NT_ASSERT(((Object)->Header.Type == TimerNotificationObject) || \
243 ((Object)->Header.Type == TimerSynchronizationObject))
244
245#define ASSERT_MUTANT(Object) \
246 NT_ASSERT((Object)->Header.Type == MutantObject)
247
248#define ASSERT_SEMAPHORE(Object) \
249 NT_ASSERT((Object)->Header.Type == SemaphoreObject)
250
251#define ASSERT_EVENT(Object) \
252 NT_ASSERT(((Object)->Header.Type == NotificationEvent) || \
253 ((Object)->Header.Type == SynchronizationEvent))
254
255#define DPC_NORMAL 0
256#define DPC_THREADED 1
257
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
262
263#define LOCK_QUEUE_WAIT_BIT 0
264#define LOCK_QUEUE_OWNER_BIT 1
265
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))
270
271#define PROCESSOR_FEATURE_MAX 64
272
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
280
281#if defined(_WIN64)
282#define MAXIMUM_PROC_PER_GROUP 64
283#else
284#define MAXIMUM_PROC_PER_GROUP 32
285#endif
286#define MAXIMUM_PROCESSORS MAXIMUM_PROC_PER_GROUP
287
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
304
305typedef enum _KBUGCHECK_CALLBACK_REASON {
306 KbCallbackInvalid,
307 KbCallbackReserved1,
308 KbCallbackSecondaryDumpData,
309 KbCallbackDumpIo,
310 KbCallbackAddPages
312
314
315_Function_class_(KBUGCHECK_REASON_CALLBACK_ROUTINE)
317typedef VOID
318(NTAPI KBUGCHECK_REASON_CALLBACK_ROUTINE)(
323typedef KBUGCHECK_REASON_CALLBACK_ROUTINE *PKBUGCHECK_REASON_CALLBACK_ROUTINE;
324
325typedef struct _KBUGCHECK_ADD_PAGES {
332
341
349
350typedef struct _KBUGCHECK_DUMP_IO {
356
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
360
369
377
378_Function_class_(KBUGCHECK_CALLBACK_ROUTINE)
380typedef VOID
381(NTAPI KBUGCHECK_CALLBACK_ROUTINE)(
384typedef KBUGCHECK_CALLBACK_ROUTINE *PKBUGCHECK_CALLBACK_ROUTINE;
385
395
396_Function_class_(NMI_CALLBACK)
398typedef BOOLEAN
399(NTAPI NMI_CALLBACK)(
402typedef NMI_CALLBACK *PNMI_CALLBACK;
403
409
414#if (NTDDI_VERSION >= NTDDI_WIN7)
416#endif
418
420_Function_class_(PROCESSOR_CALLBACK_FUNCTION)
421typedef VOID
422(NTAPI PROCESSOR_CALLBACK_FUNCTION)(
426typedef PROCESSOR_CALLBACK_FUNCTION *PPROCESSOR_CALLBACK_FUNCTION;
427
428#define KE_PROCESSOR_CHANGE_ADD_EXISTING 1
429
430#define INVALID_PROCESSOR_INDEX 0xffffffff
431
437
438typedef enum _KPROFILE_SOURCE {
465
466typedef enum _KWAIT_REASON {
506
507typedef struct _KWAIT_BLOCK {
509#if (NTDDI_VERSION >= NTDDI_WIN8)
513#ifdef _WIN64
514 LONG SpareLong;
515#endif
516 union {
519 };
522#else
523 struct _KTHREAD *Thread;
525 struct _KWAIT_BLOCK *NextWaitBlock;
528#if (NTDDI_VERSION >= NTDDI_WIN7)
529 volatile UCHAR BlockState;
530#else
531 UCHAR SpareByte;
532#endif
533#if defined(_WIN64)
534 LONG SpareLong;
535#endif
536#endif
538
539typedef enum _KINTERRUPT_MODE {
541 Latched
543
544#define THREAD_WAIT_OBJECTS 3
545
547_Function_class_(KSTART_ROUTINE)
548typedef VOID
549(NTAPI KSTART_ROUTINE)(
550 _In_ PVOID StartContext);
551typedef KSTART_ROUTINE *PKSTART_ROUTINE;
552
553typedef VOID
555 VOID);
556
557_Function_class_(KSERVICE_ROUTINE)
560typedef BOOLEAN
561(NTAPI KSERVICE_ROUTINE)(
562 _In_ struct _KINTERRUPT *Interrupt,
564typedef KSERVICE_ROUTINE *PKSERVICE_ROUTINE;
565
566_Function_class_(KMESSAGE_SERVICE_ROUTINE)
568typedef BOOLEAN
569(NTAPI KMESSAGE_SERVICE_ROUTINE)(
570 _In_ struct _KINTERRUPT *Interrupt,
573typedef KMESSAGE_SERVICE_ROUTINE *PKMESSAGE_SERVICE_ROUTINE;
574
575typedef enum _KD_OPTION {
578
579#ifdef _NTSYSTEM_
580typedef VOID
582 IN PVOID NormalContext OPTIONAL,
585
586typedef VOID
588 IN struct _KAPC *Apc);
589
590typedef VOID
592 IN struct _KAPC *Apc,
593 IN OUT PKNORMAL_ROUTINE *NormalRoutine OPTIONAL,
597#endif
598
599typedef struct _KAPC {
607#ifdef _NTSYSTEM_
608 PKKERNEL_ROUTINE KernelRoutine;
609 PKRUNDOWN_ROUTINE RundownRoutine;
610 PKNORMAL_ROUTINE NormalRoutine;
611#else
613#endif
621
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))
629
630typedef struct _KDEVICE_QUEUE_ENTRY {
636
638
639typedef VOID
641 IN OUT PKIPI_CONTEXT PacketContext,
642 IN PVOID Parameter1 OPTIONAL,
643 IN PVOID Parameter2 OPTIONAL,
644 IN PVOID Parameter3 OPTIONAL);
645
646typedef struct _KIPI_COUNTS {
662
664_Function_class_(KIPI_BROADCAST_WORKER)
666typedef ULONG_PTR
667(NTAPI KIPI_BROADCAST_WORKER)(
668 _In_ ULONG_PTR Argument);
669typedef KIPI_BROADCAST_WORKER *PKIPI_BROADCAST_WORKER;
670
672
673typedef struct _KSPIN_LOCK_QUEUE {
674 struct _KSPIN_LOCK_QUEUE *volatile Next;
677
678typedef struct _KLOCK_QUEUE_HANDLE {
682
683#if defined(_AMD64_)
684
686
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)
706
707#else
708
730
731#endif /* defined(_AMD64_) */
732
733_Function_class_(KDEFERRED_ROUTINE)
736typedef VOID
737(NTAPI KDEFERRED_ROUTINE)(
738 _In_ struct _KDPC *Dpc,
742typedef KDEFERRED_ROUTINE *PKDEFERRED_ROUTINE;
743
744typedef enum _KDPC_IMPORTANCE {
750
751typedef struct _KDPC {
754 volatile USHORT Number;
760 volatile PVOID DpcData;
762
770
771typedef struct _KDEVICE_QUEUE {
776# if defined(_AMD64_)
777 _ANONYMOUS_UNION union {
779 _ANONYMOUS_STRUCT struct {
781 LONG64 Hint:56;
784# else
786# endif
788
789#define TIMER_EXPIRED_INDEX_BITS 6
790#define TIMER_PROCESSOR_INDEX_BITS 5
791
792typedef struct _DISPATCHER_HEADER {
793 _ANONYMOUS_UNION union {
794 _ANONYMOUS_STRUCT struct {
796 _ANONYMOUS_UNION union {
797 _ANONYMOUS_UNION union {
799 _ANONYMOUS_STRUCT struct {
807#if (NTDDI_VERSION < NTDDI_WIN7)
808 UCHAR NpxIrql;
809#endif
812 _ANONYMOUS_UNION union {
813 _ANONYMOUS_UNION union {
815 _ANONYMOUS_STRUCT struct {
825 _ANONYMOUS_UNION union {
826#if (NTDDI_VERSION >= NTDDI_WIN7)
827 _ANONYMOUS_UNION union {
829 _ANONYMOUS_STRUCT struct {
830#if !defined(_X86_)
832#else
833 UCHAR Index:1;
835#endif
837 volatile UCHAR Expired:1;
840#else
841 /* Pre Win7 compatibility fix to latest WDK */
843#endif
844 _ANONYMOUS_UNION union {
846 _ANONYMOUS_STRUCT struct {
853 } DUMMYUNIONNAME; /* should probably be DUMMYUNIONNAME2, but this is what WDK says */
857 volatile LONG Lock;
862
863typedef struct _KEVENT {
866
867typedef struct _KSEMAPHORE {
871
872#define KSEMAPHORE_ACTUAL_LENGTH (FIELD_OFFSET(KSEMAPHORE, Limit) + sizeof(LONG))
873
874typedef struct _KGATE {
877
878typedef struct _KGUARDED_MUTEX {
879 volatile LONG Count;
883 _ANONYMOUS_UNION union {
884 _ANONYMOUS_STRUCT struct {
891
892typedef struct _KMUTANT {
899
900#define TIMER_TABLE_SIZE 512
901#define TIMER_TABLE_SHIFT 9
902
903typedef struct _KTIMER {
907 struct _KDPC *Dpc;
908#if (NTDDI_VERSION >= NTDDI_WIN7) && !defined(_X86_)
910#endif
913
914typedef enum _LOCK_OPERATION {
919
920#define KTIMER_ACTUAL_LENGTH (FIELD_OFFSET(KTIMER, Period) + sizeof(LONG))
921
922_Function_class_(KSYNCHRONIZE_ROUTINE)
924typedef BOOLEAN
925(NTAPI KSYNCHRONIZE_ROUTINE)(
927typedef KSYNCHRONIZE_ROUTINE *PKSYNCHRONIZE_ROUTINE;
928
929typedef enum _POOL_TYPE {
938
943
952
958
959/* Correctly define these run-time definitions for non X86 machines */
960#ifndef _X86_
961
962#ifndef IsNEC_98
963#define IsNEC_98 (FALSE)
964#endif
965
966#ifndef IsNotNEC_98
967#define IsNotNEC_98 (TRUE)
968#endif
969
970#ifndef SetNEC_98
971#define SetNEC_98
972#endif
973
974#ifndef SetNotNEC_98
975#define SetNotNEC_98
976#endif
977
978#endif
979
980typedef struct _KSYSTEM_TIME {
985
988
989typedef struct DECLSPEC_ALIGN(16) _M128A {
993
994typedef struct DECLSPEC_ALIGN(16) _XSAVE_FORMAT {
995 USHORT ControlWord;
996 USHORT StatusWord;
997 UCHAR TagWord;
999 USHORT ErrorOpcode;
1000 ULONG ErrorOffset;
1001 USHORT ErrorSelector;
1003 ULONG DataOffset;
1004 USHORT DataSelector;
1006 ULONG MxCsr;
1007 ULONG MxCsr_Mask;
1008 M128A FloatRegisters[8];
1009#if defined(_WIN64)
1010 M128A XmmRegisters[16];
1011 UCHAR Reserved4[96];
1012#else
1013 M128A XmmRegisters[8];
1014 UCHAR Reserved4[192];
1015 ULONG StackControl[7];
1016 ULONG Cr0NpxState;
1017#endif
1020
1021typedef struct DECLSPEC_ALIGN(8) _XSAVE_AREA_HEADER {
1022 ULONG64 Mask;
1023 ULONG64 CompactionMask;
1024 ULONG64 Reserved2[6];
1026
1027typedef struct DECLSPEC_ALIGN(16) _XSAVE_AREA {
1028 XSAVE_FORMAT LegacyState;
1031
1032typedef struct _XSTATE_CONTEXT {
1037#if defined(_X86_)
1039#endif
1041#if defined(_X86_)
1043#endif
1045
1046typedef struct _XSTATE_SAVE {
1047#if defined(_AMD64_)
1048 struct _XSTATE_SAVE* Prev;
1049 struct _KTHREAD* Thread;
1050 UCHAR Level;
1051 XSTATE_CONTEXT XStateContext;
1052#elif defined(_IA64_) || defined(_ARM_) || defined(_ARM64_)
1053 ULONG Dummy;
1054#elif defined(_X86_)
1055 _ANONYMOUS_UNION union {
1056 _ANONYMOUS_STRUCT struct {
1059 struct _XSTATE_SAVE* Prev;
1061 struct _KTHREAD* Thread;
1063 UCHAR Level;
1065 XSTATE_CONTEXT XStateContext;
1067#endif
1069
1072
1073#ifdef _X86_
1074
1075#define MAXIMUM_SUPPORTED_EXTENSION 512
1076
1077#if !defined(__midl) && !defined(MIDL_PASS)
1079#endif
1080
1081#endif /* _X86_ */
1082
1083#define XSAVE_ALIGN 64
1084#define MINIMAL_XSTATE_AREA_LENGTH sizeof(XSAVE_AREA)
1085
1086#if !defined(__midl) && !defined(MIDL_PASS)
1087C_ASSERT((sizeof(XSAVE_FORMAT) & (XSAVE_ALIGN - 1)) == 0);
1090#endif
1091
1092typedef struct _CONTEXT_CHUNK {
1096
1097typedef struct _CONTEXT_EX {
1102
1103#define CONTEXT_EX_LENGTH ALIGN_UP_BY(sizeof(CONTEXT_EX), STACK_ALIGN)
1104
1105#if (NTDDI_VERSION >= NTDDI_VISTA)
1106extern NTSYSAPI volatile CCHAR KeNumberProcessors;
1107#elif (NTDDI_VERSION >= NTDDI_WINXP)
1109#else
1111extern PCCHAR KeNumberProcessors;
1112#endif
1113
1115$if (_NTDDK_)
1116
1117typedef struct _EXCEPTION_REGISTRATION_RECORD
1118{
1122
1123typedef struct _NT_TIB {
1128 _ANONYMOUS_UNION union {
1133 struct _NT_TIB *Self;
1135
1136typedef struct _NT_TIB32 {
1141 _ANONYMOUS_UNION union {
1146 ULONG Self;
1148
1149typedef struct _NT_TIB64 {
1154 _ANONYMOUS_UNION union {
1159 ULONG64 Self;
1161
1163_Function_class_(EXPAND_STACK_CALLOUT)
1164typedef VOID
1165(NTAPI EXPAND_STACK_CALLOUT)(
1167typedef EXPAND_STACK_CALLOUT *PEXPAND_STACK_CALLOUT;
1168
1169typedef VOID
1172 _In_ ULONG TimerLowValue,
1173 _In_ LONG TimerHighValue);
1174
1179
1180#if (NTDDI_VERSION >= NTDDI_WIN7)
1190#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
1191
1193$if (_NTDDK_ || _WINNT_)
1194
1195typedef union _ARM64_NT_NEON128
1196{
1197 struct
1198 {
1199 ULONGLONG Low;
1200 LONGLONG High;
1202 double D[2];
1203 float S[4];
1204 USHORT H[8];
1205 UCHAR B[16];
1207
1208#define ARM64_MAX_BREAKPOINTS 8
1209#define ARM64_MAX_WATCHPOINTS 2
1210
1211typedef struct DECLSPEC_ALIGN(16) DECLSPEC_NOINITALL _ARM64_NT_CONTEXT
1212{
1213 ULONG ContextFlags;
1214 ULONG Cpsr;
1215 union
1216 {
1217 struct
1218 {
1219 ULONG64 X0;
1220 ULONG64 X1;
1221 ULONG64 X2;
1222 ULONG64 X3;
1223 ULONG64 X4;
1224 ULONG64 X5;
1225 ULONG64 X6;
1226 ULONG64 X7;
1227 ULONG64 X8;
1228 ULONG64 X9;
1229 ULONG64 X10;
1230 ULONG64 X11;
1231 ULONG64 X12;
1232 ULONG64 X13;
1233 ULONG64 X14;
1234 ULONG64 X15;
1235 ULONG64 X16;
1236 ULONG64 X17;
1237 ULONG64 X18;
1238 ULONG64 X19;
1239 ULONG64 X20;
1240 ULONG64 X21;
1241 ULONG64 X22;
1242 ULONG64 X23;
1243 ULONG64 X24;
1244 ULONG64 X25;
1245 ULONG64 X26;
1246 ULONG64 X27;
1247 ULONG64 X28;
1248 ULONG64 Fp;
1249 ULONG64 Lr;
1251 ULONG64 X[31];
1253 ULONG64 Sp;
1254 ULONG64 Pc;
1255 ARM64_NT_NEON128 V[32];
1256 ULONG Fpcr;
1257 ULONG Fpsr;
1263
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
1273#define XSTATE_IPT 8
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
1281
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))
1296
1297#if defined(_AMD64_)
1298#define XSTATE_MASK_ALLOWED \
1299 (XSTATE_MASK_LEGACY | \
1300 XSTATE_MASK_AVX | \
1301 XSTATE_MASK_MPX | \
1302 XSTATE_MASK_AVX512 | \
1303 XSTATE_MASK_IPT | \
1304 XSTATE_MASK_PASID | \
1305 XSTATE_MASK_CET_U | \
1306 XSTATE_MASK_AMX_TILE_CONFIG | \
1307 XSTATE_MASK_AMX_TILE_DATA | \
1308 XSTATE_MASK_LWP)
1309#elif defined(_X86_)
1310#define XSTATE_MASK_ALLOWED \
1311 (XSTATE_MASK_LEGACY | \
1312 XSTATE_MASK_AVX | \
1313 XSTATE_MASK_MPX | \
1314 XSTATE_MASK_AVX512 | \
1315 XSTATE_MASK_IPT | \
1316 XSTATE_MASK_CET_U | \
1317 XSTATE_MASK_LWP)
1318#endif
1319
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)
1323
1324#if defined(_X86_)
1325#if !defined(__midl) && !defined(MIDL_PASS)
1326C_ASSERT((XSTATE_MASK_ALLOWED & XSTATE_MASK_LARGE_FEATURES) == 0);
1327#endif
1328#endif
1329
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))
1334
1335#define XSTATE_XFD_BIT 2
1336#define XSTATE_XFD_MASK (1LL << (XSTATE_XFD_BIT))
1337
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)
1345
1346#define MAXIMUM_XSTATE_FEATURES 64
1347
1348typedef struct _XSTATE_FEATURE {
1352
1354{
1356#if (NTDDI_VERSION >= NTDDI_WIN8) || defined(__REACTOS__)
1358#endif
1360 union
1361 {
1363 struct
1364 {
1368 };
1369 };
1371#if (NTDDI_VERSION >= NTDDI_WIN10) || defined(__REACTOS__)
1376#endif
1377#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) || defined(__REACTOS__)
1379#endif
1380#if (NTDDI_VERSION >= NTDDI_WIN11) || defined(__REACTOS__)
1384#endif
1386
1388$if (_NTDDK_)
1389
1390#define MAX_WOW64_SHARED_ENTRIES 16
1391
1392//
1393// Flags for NXSupportPolicy
1394//
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
1400#endif
1401
1402//
1403// Shared Kernel User Data
1404// Keep in sync with sdk/include/ndk/ketypes.h
1405//
1406typedef struct _KUSER_SHARED_DATA
1407{
1410 volatile KSYSTEM_TIME InterruptTime; // 0x8
1411 volatile KSYSTEM_TIME SystemTime; // 0x14
1412 volatile KSYSTEM_TIME TimeZoneBias; // 0x20
1413 USHORT ImageNumberLow; // 0x2c
1414 USHORT ImageNumberHigh; // 0x2e
1415 WCHAR NtSystemRoot[260]; // 0x30
1416 ULONG MaxStackTraceDepth; // 0x238
1417 ULONG CryptoExponent; // 0x23c
1418 ULONG TimeZoneId; // 0x240
1419 ULONG LargePageMinimum; // 0x244
1420
1421#if (NTDDI_VERSION >= NTDDI_WIN8)
1422 ULONG AitSamplingValue; // 0x248
1423 ULONG AppCompatFlag; // 0x24c
1424 ULONGLONG RNGSeedVersion; // 0x250
1425 ULONG GlobalValidationRunlevel; // 0x258
1426 volatile LONG TimeZoneBiasStamp; // 0x25c
1427#if (NTDDI_VERSION >= NTDDI_WIN10)
1428 ULONG NtBuildNumber; // 0x260
1429#else
1430 ULONG Reserved2; // 0x260
1431#endif
1432#else
1433 ULONG Reserved2[7]; // 0x248
1434#endif // NTDDI_VERSION >= NTDDI_WIN8
1435
1437 BOOLEAN ProductTypeIsValid; // 0x268
1438 BOOLEAN Reserved0[1]; // 0x269
1439#if (NTDDI_VERSION >= NTDDI_WIN8)
1441#endif
1442 ULONG NtMajorVersion; // 0x26c
1443 ULONG NtMinorVersion; // 0x270
1445 ULONG Reserved1; // 0x2b4
1446 ULONG Reserved3; // 0x2b8
1447 volatile ULONG TimeSlip; // 0x2bc
1449#if (NTDDI_VERSION >= NTDDI_WIN10)
1450 ULONG BootId; // 0x2c4
1451#else
1452 ULONG AltArchitecturePad[1]; // 0x2c4
1453#endif
1455 ULONG SuiteMask; // 0x2d0
1456 BOOLEAN KdDebuggerEnabled; // 0x2d4
1457 union
1458 {
1459 UCHAR MitigationPolicies; // 0x2d5
1460 struct
1461 {
1463 UCHAR SEHValidationPolicy : 2;
1464 UCHAR CurDirDevicesSkippedForDlls : 2;
1465 UCHAR Reserved : 2;
1466 };
1467 };
1468#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
1469 USHORT CyclesPerYield; // 0x2d6 // Win 10 19H1+
1470#else
1471 UCHAR Reserved6[2]; // 0x2d6
1472#endif
1473 volatile ULONG ActiveConsoleId; // 0x2d8
1474 volatile ULONG DismountCount; // 0x2dc
1475 ULONG ComPlusPackage; // 0x2e0
1478 BOOLEAN SafeBootMode; // 0x2ec
1479
1480#if (NTDDI_VERSION == NTDDI_WIN7)
1481 union
1482 {
1483 UCHAR TscQpcData; // 0x2ed
1484 struct
1485 {
1486 UCHAR TscQpcEnabled:1; // 0x2ed
1487 UCHAR TscQpcSpareFlag:1; // 0x2ed
1488 UCHAR TscQpcShift:6; // 0x2ed
1491 UCHAR TscQpcPad[2]; // 0x2ee
1492#elif (NTDDI_VERSION >= NTDDI_WIN10_RS1)
1493 union
1494 {
1495 UCHAR VirtualizationFlags; // 0x2ed
1496#if defined(_ARM64_)
1497 struct
1498 {
1499 UCHAR ArchStartedInEl2 : 1;
1500 UCHAR QcSlIsSupported : 1;
1501 UCHAR : 6;
1502 };
1503#endif
1504 };
1505 UCHAR Reserved12[2]; // 0x2ee
1506#else
1507 UCHAR Reserved12[3]; // 0x2ed
1508#endif // NTDDI_VERSION == NTDDI_WIN7
1509
1510#if (NTDDI_VERSION >= NTDDI_VISTA)
1511 union
1512 {
1513 ULONG SharedDataFlags; // 0x2f0
1514 struct
1515 {
1516 ULONG DbgErrorPortPresent : 1; // 0x2f0
1517 ULONG DbgElevationEnabled : 1; // 0x2f0
1518 ULONG DbgVirtEnabled : 1; // 0x2f0
1519 ULONG DbgInstallerDetectEnabled : 1; // 0x2f0
1520#if (NTDDI_VERSION >= NTDDI_WIN8)
1521 ULONG DbgLkgEnabled : 1; // 0x2f0
1522#else
1523 ULONG DbgSystemDllRelocated : 1; // 0x2f0
1524#endif
1525 ULONG DbgDynProcessorEnabled : 1; // 0x2f0
1526#if (NTDDI_VERSION >= NTDDI_WIN8)
1527 ULONG DbgConsoleBrokerEnabled : 1; // 0x2f0
1528#else
1529 ULONG DbgSEHValidationEnabled : 1; // 0x2f0
1530#endif
1531 ULONG DbgSecureBootEnabled : 1; // 0x2f0 Win8+
1532 ULONG DbgMultiSessionSku : 1; // 0x2f0 Win 10+
1533 ULONG DbgMultiUsersInSessionSku : 1; // 0x2f0 Win 10 RS1+
1534 ULONG DbgStateSeparationEnabled : 1; // 0x2f0 Win 10 RS3+
1535 ULONG SpareBits : 21; // 0x2f0
1538#else
1539 ULONG TraceLogging;
1540#endif // NTDDI_VERSION >= NTDDI_VISTA
1541
1542 ULONG DataFlagsPad[1]; // 0x2f4
1544#if (NTDDI_VERSION >= NTDDI_WIN8)
1545 ULONGLONG QpcFrequency; // 0x300
1546#else
1547 ULONG SystemCall; // 0x300
1548 ULONG SystemCallReturn; // 0x304
1549#endif
1550#if (NTDDI_VERSION >= NTDDI_WIN10_TH2)
1551 ULONG SystemCall; // 0x308
1552 ULONG SystemCallPad0; // 0x30c Renamed to Reserved2 in Vibranium R3
1553 ULONGLONG SystemCallPad[2]; // 0x310
1554#else
1555 ULONGLONG SystemCallPad[3]; // 0x308
1556#endif
1557 union
1558 {
1559 volatile KSYSTEM_TIME TickCount; // 0x320
1560 volatile ULONG64 TickCountQuad; // 0x320
1561 struct
1562 {
1563 ULONG ReservedTickCountOverlay[3]; // 0x320
1564 ULONG TickCountPad[1]; // 0x32c
1567 ULONG Cookie; // 0x330
1568
1569#if (NTDDI_VERSION < NTDDI_VISTA)
1570 ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x334
1571#endif
1572
1573//
1574// Windows Vista and later
1575//
1576#if (NTDDI_VERSION >= NTDDI_VISTA)
1577
1578 ULONG CookiePad[1]; // 0x334
1580
1581#if (NTDDI_VERSION >= NTDDI_WIN8)
1582#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1583 ULONGLONG TimeUpdateLock; // 0x340
1584#else
1585 ULONGLONG TimeUpdateSequence; // 0x340
1586#endif
1591#if (NTDDI_VERSION >= NTDDI_WIN10)
1595 ULONG EnclaveFeatureMask[4]; // 0x36c Win 10 TH2+
1596 ULONG TelemetryCoverageRound; // 0x37c Win 10 RS2+
1597#else // NTDDI_VERSION < NTDDI_WIN10
1598 ULONG QpcSystemTimeIncrement32; // 0x368
1599 ULONG QpcInterruptTimeIncrement32; // 0x36c
1602#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1604 UCHAR Reserved8[12]; // 0x374
1605#else
1606 UCHAR Reserved8[14]; // 0x372
1607#endif
1608#endif // NTDDI_VERSION < NTDDI_WIN10
1609#elif (NTDDI_VERSION >= NTDDI_VISTASP2)
1610 ULONG DEPRECATED_Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x340
1611#else
1612 ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x340
1613#endif // NTDDI_VERSION >= NTDDI_VISTA
1614
1615#if (NTDDI_VERSION >= NTDDI_WIN7)
1616 USHORT UserModeGlobalLogger[16]; // 0x380
1617#else
1618 USHORT UserModeGlobalLogger[8]; // 0x380
1619 ULONG HeapTracingPid[2]; // 0x390
1620 ULONG CritSecTracingPid[2]; // 0x398
1621#endif
1622
1624 ULONG LangGenerationCount; // 0x3a4 Vista SP2+
1625
1626#if (NTDDI_VERSION >= NTDDI_WIN8)
1627 ULONGLONG Reserved4; // 0x3a8
1628#elif (NTDDI_VERSION >= NTDDI_WIN7)
1629 ULONGLONG Reserved5; // 0x3a8
1630#else
1631 union
1632 {
1634 ULONGLONG AffinityPad; // 0x3a8
1635 };
1636#endif
1637
1638 volatile ULONGLONG InterruptTimeBias; // 0x3b0
1639#endif // NTDDI_VERSION >= NTDDI_VISTA
1640
1641//
1642// Windows 7 and later
1643//
1644#if (NTDDI_VERSION >= NTDDI_WIN7)
1645 volatile ULONGLONG QpcBias; // 0x3b8 // Win7: TscQpcBias
1646 /* volatile */ ULONG ActiveProcessorCount; // 0x3c0 // not volatile since Win 8.1 Update 1
1647
1648#if (NTDDI_VERSION >= NTDDI_WIN8)
1649 volatile UCHAR ActiveGroupCount; // 0x3c4
1650 UCHAR Reserved9; // 0x3c5
1651 union
1652 {
1653 USHORT QpcData; // 0x3c6
1654 struct
1655 {
1656 volatile UCHAR QpcBypassEnabled; // 0x3c6
1657 UCHAR QpcShift; // 0x3c7
1658 };
1659 };
1663#else
1664 USHORT ActiveGroupCount; // 0x3c4
1665 USHORT Reserved4; // 0x3c6
1666 volatile ULONG AitSamplingValue; // 0x3c8
1667 volatile ULONG AppCompatFlag; // 0x3cc
1668 ULONGLONG SystemDllNativeRelocation; // 0x3d0 deprecated in Win7 SP2
1669 ULONG SystemDllWowRelocation; // 0x3d8 deprecated in Win7 SP2
1670 ULONG XStatePad[1]; // 0x3dc
1672#endif // NTDDI_VERSION >= NTDDI_WIN8
1673#endif // NTDDI_VERSION >= NTDDI_WIN7
1674
1675//
1676// Windows 10 Vibranium and later
1677//
1678#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
1679 KSYSTEM_TIME FeatureConfigurationChangeStamp; // 0x710 // Win 11: 0x720
1680 ULONG Spare; // 0x71c // Win 11: 0x72c
1681#endif // NTDDI_VERSION >= NTDDI_WIN10_VB
1682
1683//
1684// Windows 11 Nickel and later
1685//
1686#if (NTDDI_VERSION >= NTDDI_WIN11_NI)
1687 ULONG64 UserPointerAuthMask; // 0x730
1688#endif // NTDDI_VERSION >= NTDDI_WIN11_NI
1689
1690#if (NTDDI_VERSION < NTDDI_WIN7) && defined(__REACTOS__)
1692#endif
1694
1695#if (NTDDI_VERSION >= NTDDI_VISTA)
1697#elif (NTDDI_VERSION >= NTDDI_WINXP)
1699#else
1700extern PCCHAR KeNumberProcessors;
1701#endif
1702
1704$if (_NTIFS_)
1705typedef struct _KAPC_STATE {
1706 LIST_ENTRY ApcListHead[MaximumMode];
1708 BOOLEAN KernelApcInProgress;
1709 BOOLEAN KernelApcPending;
1710 BOOLEAN UserApcPending;
1712
1713#define KAPC_STATE_ACTUAL_LENGTH (FIELD_OFFSET(KAPC_STATE, UserApcPending) + sizeof(BOOLEAN))
1714
1715#define ASSERT_QUEUE(Q) ASSERT(((Q)->Header.Type & KOBJECT_TYPE_MASK) == QueueObject);
1716
1717typedef struct _KQUEUE {
1724
1726
DWORD Id
unsigned char BOOLEAN
Type
Definition: Type.h:7
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
@ Group
Definition: help.c:22
@ Reserved2
Definition: bcd.h:202
@ Reserved1
Definition: bcd.h:201
#define NTSYSAPI
Definition: ntoskrnl.h:12
#define D(d)
Definition: builtin.c:4557
Definition: ehthrow.cxx:54
Definition: bufpool.h:45
Definition: Header.h:9
ULONG_PTR KAFFINITY
Definition: compat.h:85
EXCEPTION_ROUTINE * PEXCEPTION_ROUTINE
Definition: compat.h:709
LONG KPRIORITY
Definition: compat.h:803
enum _NT_PRODUCT_TYPE NT_PRODUCT_TYPE
#define ULONG_PTR
Definition: config.h:101
#define _IRQL_requires_same_
Definition: driverspecs.h:232
#define _IRQL_requires_(irql)
Definition: driverspecs.h:229
#define IPI_LEVEL
Definition: env_spec_w32.h:701
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define HIGH_LEVEL
Definition: env_spec_w32.h:703
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
IN PFCB IN VBO OUT PLBO OUT PULONG OUT PBOOLEAN Allocated
Definition: fatprocs.h:311
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
unsigned int Mask
Definition: fpcontrol.c:82
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
#define _NTIFS_
Definition: ifssupp.h:20
enum _KPROFILE_SOURCE KPROFILE_SOURCE
VOID(CALLBACK * PTIMER_APC_ROUTINE)(PVOID, ULONG, LONG)
Definition: winternl.h:3621
_KPROFILE_SOURCE
Definition: winternl.h:3730
@ ProfileFpInstructions
Definition: winternl.h:3744
@ ProfileIntegerInstructions
Definition: winternl.h:3745
@ ProfileBranchMispredictions
Definition: winternl.h:3742
@ ProfileMaximum
Definition: winternl.h:3755
@ ProfileStoreInstructions
Definition: winternl.h:3743
@ ProfileAlignmentFixup
Definition: winternl.h:3732
@ ProfilePipelineDry
Definition: winternl.h:3734
@ ProfileMemoryBarrierCycles
Definition: winternl.h:3753
@ Profile3Issue
Definition: winternl.h:3747
@ ProfileLoadLinkedIssues
Definition: winternl.h:3754
@ ProfileDcacheMisses
Definition: winternl.h:3739
@ ProfileIcacheIssues
Definition: winternl.h:3751
@ ProfileIcacheMisses
Definition: winternl.h:3740
@ ProfileTotalNonissues
Definition: winternl.h:3738
@ ProfileTime
Definition: winternl.h:3731
@ ProfileSpecialInstructions
Definition: winternl.h:3749
@ Profile2Issue
Definition: winternl.h:3746
@ ProfileTotalCycles
Definition: winternl.h:3750
@ ProfileBranchInstructions
Definition: winternl.h:3737
@ ProfilePipelineFrozen
Definition: winternl.h:3736
@ ProfileDcacheAccesses
Definition: winternl.h:3752
@ ProfileLoadInstructions
Definition: winternl.h:3735
@ ProfileTotalIssues
Definition: winternl.h:3733
@ Profile4Issue
Definition: winternl.h:3748
@ ProfileCacheMisses
Definition: winternl.h:3741
#define C_ASSERT(e)
Definition: intsafe.h:73
ULONG Sp
Definition: kdb_expr.c:99
unsigned __int64 ULONG64
Definition: imports.h:198
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
Definition: env.c:47
* PNTSTATUS
Definition: strlen.c:14
#define X2(f, ord)
#define H
#define KernelMode
Definition: asm.h:38
#define UserMode
Definition: asm.h:39
VOID(NTAPI * PKRUNDOWN_ROUTINE)(IN struct _KAPC *Apc)
Definition: ketypes.h:875
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)
Definition: ketypes.h:879
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:869
#define _Out_opt_
Definition: no_sal2.h:214
#define _Struct_size_bytes_(s)
Definition: no_sal2.h:386
#define _Inout_
Definition: no_sal2.h:162
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Function_class_(n)
Definition: no_sal2.h:398
#define RESTRICTED_POINTER
Definition: ntbasedef.h:97
#define DECLSPEC_ALIGN(x)
Definition: ntbasedef.h:263
PROCESSOR_NUMBER
Definition: ntbasedef.h:654
#define _NTDDK_
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
#define DECLSPEC_NOINITALL
#define DUMMYUNIONNAME2
Definition: pecoff.h:93
#define DUMMYUNIONNAME
Definition: pecoff.h:91
#define DUMMYSTRUCTNAME
Definition: pecoff.h:117
#define _ANONYMOUS_UNION
Definition: pecoff.h:89
#define _ANONYMOUS_STRUCT
Definition: pecoff.h:115
#define BOOLEAN
Definition: pedump.c:73
short SHORT
Definition: pedump.c:59
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
@ Reserved3
Definition: sacdrv.h:1471
@ Reserved4
Definition: sacdrv.h:1472
@ Reserved5
Definition: sacdrv.h:1473
_KINTERRUPT_MODE
Definition: miniport.h:79
#define ARM64_MAX_WATCHPOINTS
#define ARM64_MAX_BREAKPOINTS
@ High
Definition: strmini.h:378
@ Low
Definition: strmini.h:380
Definition: movable.cpp:9
UCHAR Associativity
Definition: ketypes.h:52
PROCESSOR_CACHE_TYPE Type
Definition: ketypes.h:55
USHORT LineSize
Definition: ketypes.h:53
GROUP_AFFINITY GroupMask
Definition: ketypes.h:71
PROCESSOR_CACHE_TYPE Type
Definition: ketypes.h:69
UCHAR Associativity
Definition: ketypes.h:66
ULONG Length
Definition: ketypes.h:1094
CONTEXT_CHUNK XState
Definition: ketypes.h:1100
CONTEXT_CHUNK All
Definition: ketypes.h:1098
CONTEXT_CHUNK Legacy
Definition: ketypes.h:1099
_ANONYMOUS_UNION union _DISPATCHER_HEADER::@4408::@4409::@4412 DUMMYUNIONNAME3
_ANONYMOUS_UNION union _DISPATCHER_HEADER::@4408::@4409::@4411 DUMMYUNIONNAME2
UCHAR TimerControlFlags
Definition: ketypes.h:798
volatile UCHAR Expired
Definition: ketypes.h:837
BOOLEAN DpcActive
Definition: ketypes.h:854
UCHAR TimerMiscFlags
Definition: ketypes.h:828
BOOLEAN ActiveDR7
Definition: ketypes.h:847
volatile LONG Lock
Definition: ketypes.h:857
UCHAR KeepShifting
Definition: ketypes.h:802
BOOLEAN DebugActive
Definition: ketypes.h:845
BOOLEAN UmsPrimary
Definition: ketypes.h:851
UCHAR CpuThrottled
Definition: ketypes.h:816
_ANONYMOUS_UNION union _DISPATCHER_HEADER::@4408::@4409::@4410::@4413 DUMMYUNIONNAME
LIST_ENTRY WaitListHead
Definition: ketypes.h:860
UCHAR CycleProfiling
Definition: ketypes.h:817
UCHAR EncodedTolerableDelay
Definition: ketypes.h:803
_ANONYMOUS_STRUCT struct _DISPATCHER_HEADER::@4408::@4409::@4410::@4413::@4414 DUMMYSTRUCTNAME
BOOLEAN Reserved2
Definition: ketypes.h:849
BOOLEAN Instrumented
Definition: ketypes.h:848
UCHAR ThreadControlFlags
Definition: ketypes.h:814
UCHAR CounterProfiling
Definition: ketypes.h:818
BOOLEAN Signalling
Definition: ketypes.h:810
BOOLEAN UmsScheduled
Definition: ketypes.h:850
struct _EXCEPTION_REGISTRATION_RECORD * Next
Definition: compat.h:726
PEXCEPTION_ROUTINE Handler
Definition: compat.h:727
PROCESSOR_GROUP_INFO GroupInfo[ANYSIZE_ARRAY]
Definition: ketypes.h:78
USHORT MaximumGroupCount
Definition: ketypes.h:75
USHORT ActiveGroupCount
Definition: ketypes.h:76
Definition: ketypes.h:599
UCHAR Size
Definition: ketypes.h:602
PVOID NormalContext
Definition: ketypes.h:614
KPROCESSOR_MODE ApcMode
Definition: ketypes.h:618
struct _KTHREAD * Thread
Definition: ketypes.h:605
BOOLEAN Inserted
Definition: ketypes.h:619
PVOID SystemArgument1
Definition: ketypes.h:615
CCHAR ApcStateIndex
Definition: ketypes.h:617
LIST_ENTRY ApcListEntry
Definition: ketypes.h:606
UCHAR Type
Definition: ketypes.h:600
PVOID SystemArgument2
Definition: ketypes.h:616
UCHAR SpareByte0
Definition: ketypes.h:601
UCHAR SpareByte1
Definition: ketypes.h:603
ULONG SpareLong0
Definition: ketypes.h:604
_Inout_ PVOID Context
Definition: ketypes.h:326
_Out_ ULONG_PTR Address
Definition: ketypes.h:329
_Out_ ULONG_PTR Count
Definition: ketypes.h:330
_In_ ULONG BugCheckCode
Definition: ketypes.h:328
_Inout_ ULONG Flags
Definition: ketypes.h:327
PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine
Definition: ketypes.h:388
_Field_size_bytes_opt_(Length) PVOID Buffer
_In_ ULONG64 Offset
Definition: ketypes.h:351
_In_ ULONG BufferLength
Definition: ketypes.h:353
_In_ KBUGCHECK_DUMP_IO_TYPE Type
Definition: ketypes.h:354
_In_ PVOID Buffer
Definition: ketypes.h:352
KBUGCHECK_CALLBACK_REASON Reason
Definition: ketypes.h:366
PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine
Definition: ketypes.h:363
Definition: ketypes.h:630
LIST_ENTRY DeviceListEntry
Definition: ketypes.h:631
ULONG SortKey
Definition: ketypes.h:632
BOOLEAN Inserted
Definition: ketypes.h:633
BOOLEAN Busy
Definition: ketypes.h:785
LIST_ENTRY DeviceListHead
Definition: ketypes.h:774
KSPIN_LOCK Lock
Definition: ketypes.h:775
CSHORT Type
Definition: ketypes.h:772
CSHORT Size
Definition: ketypes.h:773
Definition: ketypes.h:751
UCHAR Type
Definition: ketypes.h:752
LIST_ENTRY DpcListEntry
Definition: ketypes.h:755
PVOID SystemArgument2
Definition: ketypes.h:759
UCHAR Importance
Definition: ketypes.h:753
PVOID SystemArgument1
Definition: ketypes.h:758
PKDEFERRED_ROUTINE DeferredRoutine
Definition: ketypes.h:756
volatile PVOID DpcData
Definition: ketypes.h:760
volatile USHORT Number
Definition: ketypes.h:754
PVOID DeferredContext
Definition: ketypes.h:757
DISPATCHER_HEADER Header
Definition: ketypes.h:864
KE_PROCESSOR_CHANGE_NOTIFY_STATE State
Definition: ketypes.h:411
DISPATCHER_HEADER Header
Definition: ketypes.h:875
_ANONYMOUS_UNION union _KGUARDED_MUTEX::@4421 DUMMYUNIONNAME
_ANONYMOUS_STRUCT struct _KGUARDED_MUTEX::@4421::@4422 DUMMYSTRUCTNAME
volatile LONG Count
Definition: ketypes.h:879
ULONG Contention
Definition: ketypes.h:881
ULONG CombinedApcDisable
Definition: ketypes.h:888
PKTHREAD Owner
Definition: ketypes.h:880
SHORT KernelApcDisable
Definition: ketypes.h:885
SHORT SpecialApcDisable
Definition: ketypes.h:886
ULONG Freeze
Definition: ketypes.h:647
ULONG FlushSingleTb
Definition: ketypes.h:651
ULONG FlushMultipleTb
Definition: ketypes.h:652
ULONG APC
Definition: ketypes.h:650
ULONG Packet
Definition: ketypes.h:648
ULONG FlushEntireTb
Definition: ketypes.h:653
ULONG FlushIoBuffers
Definition: ketypes.h:659
ULONG SweepIcache
Definition: ketypes.h:657
ULONG SweepIcacheRange
Definition: ketypes.h:658
ULONG GenericCall
Definition: ketypes.h:654
ULONG DPC
Definition: ketypes.h:649
ULONG ChangeColor
Definition: ketypes.h:655
ULONG SweepDcache
Definition: ketypes.h:656
ULONG GratuitousDPC
Definition: ketypes.h:660
KSPIN_LOCK_QUEUE LockQueue
Definition: ketypes.h:679
DISPATCHER_HEADER Header
Definition: ketypes.h:893
LIST_ENTRY MutantListEntry
Definition: ketypes.h:894
BOOLEAN Abandoned
Definition: ketypes.h:896
struct _KTHREAD *RESTRICTED_POINTER OwnerThread
Definition: ketypes.h:895
UCHAR ApcDisable
Definition: ketypes.h:897
LIST_ENTRY EntryListHead
Definition: ketypes.h:1719
ULONG MaximumCount
Definition: ketypes.h:1721
DISPATCHER_HEADER Header
Definition: ketypes.h:1718
LIST_ENTRY ThreadListHead
Definition: ketypes.h:1722
volatile ULONG CurrentCount
Definition: ketypes.h:1720
LONG Limit
Definition: ketypes.h:869
DISPATCHER_HEADER Header
Definition: ketypes.h:868
struct _KSPIN_LOCK_QUEUE *volatile Next
Definition: ketypes.h:674
PKSPIN_LOCK volatile Lock
Definition: ketypes.h:675
LONG High1Time
Definition: wdm.h:6
LONG High2Time
Definition: wdm.h:7
ULONG LowPart
Definition: wdm.h:5
struct _KDPC * Dpc
Definition: ketypes.h:907
ULONG Processor
Definition: ketypes.h:909
ULARGE_INTEGER DueTime
Definition: ketypes.h:905
ULONG Period
Definition: ketypes.h:911
DISPATCHER_HEADER Header
Definition: ketypes.h:904
LIST_ENTRY TimerListEntry
Definition: ketypes.h:906
ULONG LangGenerationCount
Definition: wdm.h:117
ULONG CookiePad[1]
Definition: wdm.h:103
UCHAR QpcInterruptTimeIncrementShift
Definition: wdm.h:111
XSTATE_CONFIGURATION XState
Definition: wdm.h:132
ULONG DbgStateSeparationEnabled
Definition: wdm.h:80
BOOLEAN ProductTypeIsValid
Definition: wdm.h:45
ULONG AitSamplingValue
Definition: wdm.h:38
ULONG DbgInstallerDetectEnabled
Definition: wdm.h:73
volatile KSYSTEM_TIME SystemTime
Definition: wdm.h:29
volatile UCHAR ActiveGroupCount
Definition: wdm.h:122
LARGE_INTEGER TimeZoneBiasEffectiveStart
Definition: wdm.h:130
ULONGLONG QpcSystemTimeIncrement
Definition: wdm.h:108
ULONG TickCountLowDeprecated
Definition: wdm.h:26
NT_PRODUCT_TYPE NtProductType
Definition: wdm.h:44
USHORT QpcData
Definition: wdm.h:124
LONGLONG QpcFrequency
Definition: wdm.h:86
ULONGLONG SystemCallPad[2]
Definition: wdm.h:97
ULONG DbgConsoleBrokerEnabled
Definition: wdm.h:76
ULONG ActiveProcessorCount
Definition: wdm.h:121
volatile ULONG TimeZoneBiasStamp
Definition: wdm.h:42
ULONGLONG RNGSeedVersion
Definition: wdm.h:40
UCHAR VirtualizationFlags
Definition: wdm.h:66
ULONG SystemCall
Definition: wdm.h:87
union _KUSER_SHARED_DATA::@4034 DUMMYUNIONNAME2
ULONGLONG TestRetInstruction
Definition: wdm.h:85
struct _KUSER_SHARED_DATA::@4035::@4039 DUMMYSTRUCTNAME
ULONGLONG QpcInterruptTimeIncrement
Definition: wdm.h:109
volatile ULONG ActiveConsoleId
Definition: wdm.h:60
volatile ULONGLONG InterruptTimeBias
Definition: wdm.h:119
BOOLEAN KdDebuggerEnabled
Definition: wdm.h:57
ULONG NtMajorVersion
Definition: wdm.h:47
ULONG AppCompatFlag
Definition: wdm.h:39
ULONGLONG BaselineSystemTimeQpc
Definition: wdm.h:106
UCHAR QpcShift
Definition: wdm.h:127
ULONG TickCountMultiplier
Definition: wdm.h:27
LONGLONG ConsoleSessionForegroundProcessId
Definition: wdm.h:104
USHORT NativeProcessorArchitecture
Definition: wdm.h:46
ULONG SharedDataFlags
Definition: wdm.h:68
UCHAR NXSupportPolicy
Definition: wdm.h:58
volatile ULONGLONG QpcBias
Definition: wdm.h:120
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX]
Definition: wdm.h:49
ULONG LastSystemRITEventTickCount
Definition: wdm.h:63
ULONG NumberOfPhysicalPages
Definition: wdm.h:64
ULONG DbgMultiUsersInSessionSku
Definition: wdm.h:79
ULONG BootId
Definition: wdm.h:54
union _KUSER_SHARED_DATA::@4037 DUMMYUNIONNAME3
volatile ULONG64 TickCountQuad
Definition: wdm.h:100
volatile KSYSTEM_TIME TickCount
Definition: wdm.h:99
ULONG LargePageMinimum
Definition: wdm.h:37
volatile KSYSTEM_TIME InterruptTime
Definition: wdm.h:28
ULONG SpareBits
Definition: wdm.h:81
ULONG NtBuildNumber
Definition: wdm.h:43
ULONG CryptoExponent
Definition: wdm.h:35
ULONG DbgSecureBootEnabled
Definition: wdm.h:77
ULONG TimeZoneId
Definition: wdm.h:36
BOOLEAN SafeBootMode
Definition: wdm.h:65
ULONG DbgMultiSessionSku
Definition: wdm.h:78
UCHAR volatile QpcBypassEnabled
Definition: wdm.h:126
volatile ULONG TimeSlip
Definition: wdm.h:52
LARGE_INTEGER SystemExpirationDate
Definition: wdm.h:55
ULONG NtMinorVersion
Definition: wdm.h:48
ULONG Cookie
Definition: wdm.h:102
WCHAR NtSystemRoot[260]
Definition: wdm.h:33
ULONG ActiveProcessorAffinity
Definition: wdm.h:118
USHORT ImageNumberHigh
Definition: wdm.h:32
UCHAR QpcSystemTimeIncrementShift
Definition: wdm.h:110
ULONG Reserved1
Definition: wdm.h:50
ULONG MaxStackTraceDepth
Definition: wdm.h:34
ULONG SuiteMask
Definition: wdm.h:56
ULONG DbgErrorPortPresent
Definition: wdm.h:70
ULONG DbgVirtEnabled
Definition: wdm.h:72
ULONG ImageFileExecutionOptions
Definition: wdm.h:116
USHORT CyclesPerYield
Definition: wdm.h:59
USHORT UnparkedProcessorCount
Definition: wdm.h:112
ULONG ComPlusPackage
Definition: wdm.h:62
ULONG EnclaveFeatureMask[4]
Definition: wdm.h:113
ULONG Reserved3
Definition: wdm.h:51
struct _KUSER_SHARED_DATA::@4034::@4038 DUMMYSTRUCTNAME2
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture
Definition: wdm.h:53
ULONGLONG TimeUpdateLock
Definition: wdm.h:105
volatile ULONG DismountCount
Definition: wdm.h:61
volatile KSYSTEM_TIME TimeZoneBias
Definition: wdm.h:30
ULONG DbgLkgEnabled
Definition: wdm.h:74
LARGE_INTEGER TimeZoneBiasEffectiveEnd
Definition: wdm.h:131
ULONGLONG BaselineInterruptTimeQpc
Definition: wdm.h:107
union _KUSER_SHARED_DATA::@4036 DUMMYUNIONNAME
ULONG DataFlagsPad[1]
Definition: wdm.h:84
ULONG DbgDynProcessorEnabled
Definition: wdm.h:75
USHORT UserModeGlobalLogger[16]
Definition: wdm.h:115
ULONG TelemetryCoverageRound
Definition: wdm.h:114
USHORT ImageNumberLow
Definition: wdm.h:31
volatile UCHAR BlockState
Definition: ketypes.h:511
PVOID SparePtr
Definition: ketypes.h:521
struct _KQUEUE * NotificationQueue
Definition: ketypes.h:518
struct _KTHREAD * Thread
Definition: ketypes.h:517
PVOID Object
Definition: ketypes.h:520
LIST_ENTRY WaitListEntry
Definition: ketypes.h:508
UCHAR WaitType
Definition: ketypes.h:510
USHORT WaitKey
Definition: ketypes.h:512
Definition: typedefs.h:120
ULONG Self
Definition: winternl.h:721
ULONG ArbitraryUserPointer
Definition: winternl.h:720
ULONG StackLimit
Definition: winternl.h:717
ULONG Version
Definition: ketypes.h:1143
ULONG StackBase
Definition: winternl.h:716
ULONG FiberData
Definition: winternl.h:719
ULONG SubSystemTib
Definition: winternl.h:718
_ANONYMOUS_UNION union _NT_TIB32::@4424 DUMMYUNIONNAME
ULONG ExceptionList
Definition: winternl.h:715
ULONG Version
Definition: ketypes.h:1156
_ANONYMOUS_UNION union _NT_TIB64::@4425 DUMMYUNIONNAME
ULONG64 StackLimit
Definition: winternl.h:728
ULONG64 ExceptionList
Definition: winternl.h:726
ULONG64 ArbitraryUserPointer
Definition: winternl.h:731
ULONG64 SubSystemTib
Definition: winternl.h:729
ULONG64 Self
Definition: winternl.h:732
ULONG64 StackBase
Definition: winternl.h:727
ULONG64 FiberData
Definition: winternl.h:730
PVOID ArbitraryUserPointer
Definition: compat.h:719
ULONG Version
Definition: ketypes.h:1130
struct _NT_TIB * Self
Definition: compat.h:720
PVOID StackLimit
Definition: compat.h:713
PVOID StackBase
Definition: compat.h:712
PVOID SubSystemTib
Definition: compat.h:714
union _NT_TIB::@394 DUMMYUNIONNAME
struct _EXCEPTION_REGISTRATION_RECORD * ExceptionList
Definition: compat.h:711
GROUP_AFFINITY GroupMask
Definition: ketypes.h:61
_Field_size_(GroupCount) GROUP_AFFINITY GroupMask[ANYSIZE_ARRAY]
PROCESSOR_RELATIONSHIP Processor
Definition: ketypes.h:120
_ANONYMOUS_UNION union _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX::@4405 DUMMYUNIONNAME
LOGICAL_PROCESSOR_RELATIONSHIP Relationship
Definition: ketypes.h:117
NUMA_NODE_RELATIONSHIP NumaNode
Definition: ketypes.h:121
LOGICAL_PROCESSOR_RELATIONSHIP Relationship
Definition: ketypes.h:103
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION::@4402::@4404 NumaNode
_ANONYMOUS_UNION union _SYSTEM_LOGICAL_PROCESSOR_INFORMATION::@4402 DUMMYUNIONNAME
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION::@4402::@4403 ProcessorCore
_In_opt_ PTIMER_APC_ROUTINE TimerApcRoutine
Definition: ketypes.h:1183
_In_opt_ struct _COUNTED_REASON_CONTEXT * WakeContext
Definition: ketypes.h:1185
_Out_opt_ PBOOLEAN PreviousState
Definition: ketypes.h:1188
_In_ LARGE_INTEGER DueTime
Definition: ketypes.h:1182
XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]
Definition: ketypes.h:1370
ULONG64 EnabledSupervisorFeatures
Definition: ketypes.h:1372
ULONG64 EnabledVolatileFeatures
Definition: ketypes.h:1357
ULONG64 EnabledFeatures
Definition: ketypes.h:1355
ULONG64 EnabledUserVisibleSupervisorFeatures
Definition: ketypes.h:1378
ULONG ExtendedFeatureDisable
Definition: ketypes.h:1367
ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES]
Definition: ketypes.h:1375
ULONG AllNonLargeFeatureSize
Definition: ketypes.h:1382
ULONG64 ExtendedFeatureDisableFeatures
Definition: ketypes.h:1381
ULONG64 AlignedFeatures
Definition: ketypes.h:1373
_Field_size_bytes_opt_(Length) PXSAVE_AREA Area
ULONG Reserved1
Definition: ketypes.h:1035
ULONG64 Mask
Definition: ketypes.h:1033
#define MODE
Definition: telnetd.h:42
#define OPTIONAL
Definition: typedefs.h:41
int64_t LONG64
Definition: typedefs.h:68
#define FIELD_OFFSET(t, f)
Definition: typedefs.h:255
unsigned char * PBOOLEAN
Definition: typedefs.h:53
#define ANYSIZE_ARRAY
Definition: typedefs.h:46
int64_t LONGLONG
Definition: typedefs.h:68
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG_PTR
Definition: typedefs.h:65
#define IN
Definition: typedefs.h:39
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
uint64_t ULONGLONG
Definition: typedefs.h:67
#define OUT
Definition: typedefs.h:40
char CCHAR
Definition: typedefs.h:51
short CSHORT
Definition: umtypes.h:127
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4539
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
Definition: wdfdpc.h:112
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:379
#define PROCESSOR_FEATURE_MAX
Definition: wdm.h:10
struct _KSYSTEM_TIME KSYSTEM_TIME
_ALTERNATIVE_ARCHITECTURE_TYPE
Definition: wdm.h:13
@ EndAlternatives
Definition: wdm.h:16
@ StandardDesign
Definition: wdm.h:14
@ NEC98x86
Definition: wdm.h:15
struct _KSYSTEM_TIME * PKSYSTEM_TIME
enum _ALTERNATIVE_ARCHITECTURE_TYPE ALTERNATIVE_ARCHITECTURE_TYPE
#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name)
#define _WDMDDK_
Definition: wdm.template.h:26
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
#define _WINNT_
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR _In_ ULONGLONG _In_ ULONGLONG _In_opt_ PEVENT_FILTER_DESCRIPTOR _Inout_opt_ PVOID CallbackContext
Definition: wmitypes.h:60
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
Definition: wmitypes.h:56
#define MAXIMUM_SUPPORTED_EXTENSION
Definition: x86context.h:35
_In_ PKSYNCHRONIZE_ROUTINE _In_opt_ __drv_aliasesMem PVOID SynchronizeContext
Definition: kefuncs.h:525
_In_ UCHAR Processor
Definition: kefuncs.h:670
struct _KSEMAPHORE * PKSEMAPHORE
PVOID PKIPI_CONTEXT
Definition: ketypes.h:637
struct _KWAIT_BLOCK * PRKWAIT_BLOCK
struct _KBUGCHECK_DUMP_IO KBUGCHECK_DUMP_IO
struct _XSTATE_CONFIGURATION * PXSTATE_CONFIGURATION
$if(_WDMDDK_) typedef UCHAR KIRQL
Definition: ke.h:1
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX * PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX
struct _KIPI_COUNTS KIPI_COUNTS
struct _KDPC * PKDPC
enum _KSPIN_LOCK_QUEUE_NUMBER KSPIN_LOCK_QUEUE_NUMBER
NTSYSAPI volatile CCHAR KeNumberProcessors
Definition: ketypes.h:1696
struct _CONTEXT_CHUNK * PCONTEXT_CHUNK
PROCESSOR_CALLBACK_FUNCTION * PPROCESSOR_CALLBACK_FUNCTION
Definition: ketypes.h:426
* PXSAVE_AREA
Definition: ketypes.h:1030
_KBUGCHECK_BUFFER_DUMP_STATE
Definition: ketypes.h:370
@ BufferIncomplete
Definition: ketypes.h:375
@ BufferEmpty
Definition: ketypes.h:371
@ BufferInserted
Definition: ketypes.h:372
@ BufferFinished
Definition: ketypes.h:374
@ BufferStarted
Definition: ketypes.h:373
XSAVE_AREA
Definition: ketypes.h:1030
struct _KGATE * PKGATE
_KDPC_IMPORTANCE
Definition: ketypes.h:744
@ HighImportance
Definition: ketypes.h:747
@ MediumHighImportance
Definition: ketypes.h:748
@ LowImportance
Definition: ketypes.h:745
@ MediumImportance
Definition: ketypes.h:746
struct _KDEVICE_QUEUE_ENTRY * PKDEVICE_QUEUE_ENTRY
@ Latched
Definition: ketypes.h:541
@ LevelSensitive
Definition: ketypes.h:540
_PROCESSOR_CACHE_TYPE
Definition: ketypes.h:43
@ CacheInstruction
Definition: ketypes.h:45
@ CacheUnified
Definition: ketypes.h:44
@ CacheTrace
Definition: ketypes.h:47
@ CacheData
Definition: ketypes.h:46
struct _XSTATE_FEATURE XSTATE_FEATURE
ARM64_NT_CONTEXT
Definition: ketypes.h:1262
struct _KMUTANT KMUTANT
#define XSAVE_ALIGN
struct _KGATE PRKGATE
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
Definition: ketypes.h:1711
* PSYSTEM_CPU_SET_INFORMATION
Definition: ketypes.h:168
XSAVE_FORMAT
Definition: ketypes.h:1018
struct _KQUEUE * PKQUEUE
struct _KDPC PRKDPC
* PARM64_NT_CONTEXT
Definition: ketypes.h:1262
struct _KBUGCHECK_CALLBACK_RECORD * PKBUGCHECK_CALLBACK_RECORD
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:551
struct _NT_TIB NT_TIB
struct _KBUGCHECK_SECONDARY_DUMP_DATA KBUGCHECK_SECONDARY_DUMP_DATA
M128A
Definition: ketypes.h:992
struct _KLOCK_QUEUE_HANDLE * PKLOCK_QUEUE_HANDLE
struct _KMUTANT PRKMUTANT
NMI_CALLBACK * PNMI_CALLBACK
Definition: ketypes.h:402
enum _KSPIN_LOCK_QUEUE_NUMBER * PKSPIN_LOCK_QUEUE_NUMBER
XSAVE_FORMAT XMM_SAVE_AREA32
Definition: ketypes.h:1019
enum _KBUGCHECK_DUMP_IO_TYPE KBUGCHECK_DUMP_IO_TYPE
_POOL_TYPE
Definition: ketypes.h:929
@ NonPagedPoolBaseCacheAlignedMustS
Definition: ketypes.h:942
@ NonPagedPoolSession
Definition: ketypes.h:944
@ NonPagedPoolCacheAlignedSession
Definition: ketypes.h:948
@ NonPagedPoolBaseMustSucceed
Definition: ketypes.h:940
@ PagedPoolCacheAligned
Definition: ketypes.h:935
@ NonPagedPoolCacheAligned
Definition: ketypes.h:934
@ PagedPoolSession
Definition: ketypes.h:945
@ DontUseThisTypeSession
Definition: ketypes.h:947
@ NonPagedPoolBase
Definition: ketypes.h:939
@ NonPagedPoolCacheAlignedMustS
Definition: ketypes.h:936
@ MaxPoolType
Definition: ketypes.h:937
@ NonPagedPool
Definition: ketypes.h:930
@ NonPagedPoolBaseCacheAligned
Definition: ketypes.h:941
@ PagedPoolCacheAlignedSession
Definition: ketypes.h:949
@ NonPagedPoolCacheAlignedMustSSession
Definition: ketypes.h:950
@ DontUseThisType
Definition: ketypes.h:933
@ NonPagedPoolMustSucceed
Definition: ketypes.h:932
@ PagedPool
Definition: ketypes.h:931
@ NonPagedPoolMustSucceedSession
Definition: ketypes.h:946
_KWAIT_REASON
Definition: ketypes.h:466
@ WrLpcReply
Definition: ketypes.h:484
@ WrGuardedMutex
Definition: ketypes.h:502
@ WrPageIn
Definition: ketypes.h:476
@ WrPoolAllocation
Definition: ketypes.h:477
@ Suspended
Definition: ketypes.h:472
@ WrPageOut
Definition: ketypes.h:486
@ PageIn
Definition: ketypes.h:469
@ WrKernel
Definition: ketypes.h:493
@ WrRundown
Definition: ketypes.h:503
@ PoolAllocation
Definition: ketypes.h:470
@ WrYieldExecution
Definition: ketypes.h:500
@ WrUserRequest
Definition: ketypes.h:480
@ WrProcessInSwap
Definition: ketypes.h:490
@ UserRequest
Definition: ketypes.h:473
@ WrLpcReceive
Definition: ketypes.h:483
@ WrFreePage
Definition: ketypes.h:475
@ DelayExecution
Definition: ketypes.h:471
@ WrKeyedEvent
Definition: ketypes.h:488
@ WrDispatchInt
Definition: ketypes.h:498
@ WrMutex
Definition: ketypes.h:496
@ WrCpuRateControl
Definition: ketypes.h:491
@ WrExecutive
Definition: ketypes.h:474
@ WrQuantumEnd
Definition: ketypes.h:497
@ WrResource
Definition: ketypes.h:494
@ WrEventPair
Definition: ketypes.h:481
@ WrCalloutStack
Definition: ketypes.h:492
@ WrPushLock
Definition: ketypes.h:495
@ WrPreempted
Definition: ketypes.h:499
@ WrQueue
Definition: ketypes.h:482
@ WrFastMutex
Definition: ketypes.h:501
@ MaximumWaitReason
Definition: ketypes.h:504
@ WrRendezvous
Definition: ketypes.h:487
@ FreePage
Definition: ketypes.h:468
@ WrVirtualMemory
Definition: ketypes.h:485
@ WrDelayExecution
Definition: ketypes.h:478
@ WrTerminated
Definition: ketypes.h:489
@ WrSuspended
Definition: ketypes.h:479
@ Executive
Definition: ketypes.h:467
_CPU_SET_INFORMATION_TYPE
Definition: ketypes.h:128
@ CpuSetInformation
Definition: ketypes.h:129
struct _KSEMAPHORE PRKSEMAPHORE
struct _XSTATE_FEATURE * PXSTATE_FEATURE
struct _KQUEUE KQUEUE
struct _NUMA_NODE_RELATIONSHIP * PNUMA_NODE_RELATIONSHIP
struct _KLOCK_QUEUE_HANDLE KLOCK_QUEUE_HANDLE
IN ULONG Length
Definition: ketypes.h:383
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
Definition: ketypes.h:322
struct _NT_TIB64 NT_TIB64
struct _XSTATE_SAVE XSTATE_SAVE
XSAVE_FORMAT * PXMM_SAVE_AREA32
Definition: ketypes.h:1019
struct _CONTEXT_EX CONTEXT_EX
* PM128A
Definition: ketypes.h:992
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
KSERVICE_ROUTINE * PKSERVICE_ROUTINE
Definition: ketypes.h:564
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
_KBUGCHECK_DUMP_IO_TYPE
Definition: ketypes.h:342
@ KbDumpIoBody
Definition: ketypes.h:345
@ KbDumpIoHeader
Definition: ketypes.h:344
@ KbDumpIoSecondaryData
Definition: ketypes.h:346
@ KbDumpIoComplete
Definition: ketypes.h:347
@ KbDumpIoInvalid
Definition: ketypes.h:343
struct _KGATE KGATE
_In_ BOOLEAN Handled
Definition: ketypes.h:401
struct _KBUGCHECK_DUMP_IO * PKBUGCHECK_DUMP_IO
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD _Inout_ PVOID ReasonSpecificData
Definition: ketypes.h:321
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT _Inout_ PNTSTATUS OperationStatus
Definition: ketypes.h:425
enum _POOL_TYPE POOL_TYPE
struct _KEVENT PRKEVENT
enum _LOCK_OPERATION LOCK_OPERATION
_KINTERRUPT_POLARITY
Definition: ketypes.h:432
@ InterruptActiveLow
Definition: ketypes.h:435
@ InterruptPolarityUnknown
Definition: ketypes.h:433
@ InterruptActiveHigh
Definition: ketypes.h:434
struct _CACHE_RELATIONSHIP * PCACHE_RELATIONSHIP
XSAVE_AREA_HEADER
Definition: ketypes.h:1025
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
Definition: ketypes.h:168
struct _NUMA_NODE_RELATIONSHIP NUMA_NODE_RELATIONSHIP
struct _KBUGCHECK_REASON_CALLBACK_RECORD KBUGCHECK_REASON_CALLBACK_RECORD
struct _KMUTANT * PKMUTEX
_LOCK_OPERATION
Definition: ketypes.h:914
@ IoReadAccess
Definition: ketypes.h:915
@ IoWriteAccess
Definition: ketypes.h:916
@ IoModifyAccess
Definition: ketypes.h:917
EXCEPTION_REGISTRATION_RECORD
Definition: ketypes.h:1121
enum _PROCESSOR_CACHE_TYPE PROCESSOR_CACHE_TYPE
#define MAXIMUM_XSTATE_FEATURES
Definition: ketypes.h:1346
struct _KBUGCHECK_REASON_CALLBACK_RECORD * PKBUGCHECK_REASON_CALLBACK_RECORD
struct _KDPC KDPC
struct _KEVENT KEVENT
#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
Definition: ketypes.h:740
* PARM64_NT_NEON128
Definition: ketypes.h:1206
ARM64_NT_NEON128
Definition: ketypes.h:1206
KSYNCHRONIZE_ROUTINE * PKSYNCHRONIZE_ROUTINE
Definition: ketypes.h:927
* PEXCEPTION_REGISTRATION_RECORD
Definition: ketypes.h:1121
struct _KMUTANT * PKMUTANT
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT ChangeContext
Definition: ketypes.h:424
KMESSAGE_SERVICE_ROUTINE * PKMESSAGE_SERVICE_ROUTINE
Definition: ketypes.h:573
KBUGCHECK_CALLBACK_ROUTINE * PKBUGCHECK_CALLBACK_ROUTINE
Definition: ketypes.h:384
struct _DISPATCHER_HEADER * PDISPATCHER_HEADER
ULONG_PTR KSPIN_LOCK
Definition: ketypes.h:671
KUSER_SHARED_DATA
Definition: ketypes.h:1693
* PXSAVE_AREA_HEADER
Definition: ketypes.h:1025
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
Definition: ketypes.h:789
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
_MODE
Definition: ketypes.h:10
@ MaximumMode
Definition: ketypes.h:13
struct _KMUTANT PRKMUTEX
enum _KINTERRUPT_POLARITY KINTERRUPT_POLARITY
struct _GROUP_RELATIONSHIP GROUP_RELATIONSHIP
#define XSTATE_MASK_LARGE_FEATURES
Definition: ketypes.h:1322
_TIMER_SET_INFORMATION_CLASS
Definition: ketypes.h:1175
@ MaxTimerInfoClass
Definition: ketypes.h:1177
@ TimerSetCoalescableTimer
Definition: ketypes.h:1176
_LOGICAL_PROCESSOR_RELATIONSHIP
Definition: ketypes.h:81
@ RelationProcessorModule
Definition: ketypes.h:89
@ RelationNumaNode
Definition: ketypes.h:83
@ RelationNumaNodeEx
Definition: ketypes.h:88
@ RelationCache
Definition: ketypes.h:84
@ RelationProcessorCore
Definition: ketypes.h:82
@ RelationGroup
Definition: ketypes.h:86
@ RelationProcessorDie
Definition: ketypes.h:87
@ RelationProcessorPackage
Definition: ketypes.h:85
@ RelationAll
Definition: ketypes.h:90
#define TIMER_PROCESSOR_INDEX_BITS
Definition: ketypes.h:790
* PKAPC_STATE
Definition: ketypes.h:1711
struct _KAPC KAPC
struct _CONTEXT_CHUNK CONTEXT_CHUNK
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:739
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
PROCESSOR_GROUP_INFO
Definition: ketypes.h:41
ULONG_PTR * PKSPIN_LOCK
Definition: ketypes.h:671
struct _KBUGCHECK_ADD_PAGES * PKBUGCHECK_ADD_PAGES
struct _KTIMER * PKTIMER
struct _KAPC * PKAPC
struct _KAPC PRKAPC
VOID(NTAPI * PKIPI_WORKER)(IN OUT PKIPI_CONTEXT PacketContext, IN PVOID Parameter1 OPTIONAL, IN PVOID Parameter2 OPTIONAL, IN PVOID Parameter3 OPTIONAL)
Definition: ketypes.h:640
struct _KDEVICE_QUEUE KDEVICE_QUEUE
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD * Record
Definition: ketypes.h:320
_KE_PROCESSOR_CHANGE_NOTIFY_STATE
Definition: ketypes.h:404
@ KeProcessorAddCompleteNotify
Definition: ketypes.h:406
@ KeProcessorAddFailureNotify
Definition: ketypes.h:407
@ KeProcessorAddStartNotify
Definition: ketypes.h:405
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION SYSTEM_LOGICAL_PROCESSOR_INFORMATION
struct _PROCESSOR_RELATIONSHIP PROCESSOR_RELATIONSHIP
KIPI_BROADCAST_WORKER * PKIPI_BROADCAST_WORKER
Definition: ketypes.h:669
KBUGCHECK_CALLBACK_REASON
Definition: ketypes.h:311
* PPROCESSOR_GROUP_INFO
Definition: ketypes.h:41
struct _KSEMAPHORE KSEMAPHORE
enum _KINTERRUPT_POLARITY * PKINTERRUPT_POLARITY
_KSPIN_LOCK_QUEUE_NUMBER
Definition: ketypes.h:709
@ LockQueueNtfsStructLock
Definition: ketypes.h:722
@ LockQueueExpansionLock
Definition: ketypes.h:711
@ LockQueueTimerTableLock
Definition: ketypes.h:727
@ LockQueueWorkQueueLock
Definition: ketypes.h:718
@ LockQueueUnusedSpare16
Definition: ketypes.h:726
@ LockQueueNonPagedPoolLock
Definition: ketypes.h:716
@ LockQueueSystemSpaceLock
Definition: ketypes.h:713
@ LockQueueMasterLock
Definition: ketypes.h:715
@ LockQueueDispatcherLock
Definition: ketypes.h:710
@ LockQueueIoCancelLock
Definition: ketypes.h:717
@ LockQueuePfnLock
Definition: ketypes.h:712
@ LockQueueIoDatabaseLock
Definition: ketypes.h:720
@ LockQueueMmNonPagedPoolLock
Definition: ketypes.h:725
@ LockQueueBcbLock
Definition: ketypes.h:724
@ LockQueueIoVpbLock
Definition: ketypes.h:719
@ LockQueueMaximumLock
Definition: ketypes.h:728
@ LockQueueIoCompletionLock
Definition: ketypes.h:721
@ LockQueueAfdWorkQueueLock
Definition: ketypes.h:723
@ LockQueueVacbLock
Definition: ketypes.h:714
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
Definition: ketypes.h:572
struct _KQUEUE PRKQUEUE
VOID(NTAPI * PKINTERRUPT_ROUTINE)(VOID)
Definition: ketypes.h:554
struct _NT_TIB32 * PNT_TIB32
enum _LOGICAL_PROCESSOR_RELATIONSHIP LOGICAL_PROCESSOR_RELATIONSHIP
* PKUSER_SHARED_DATA
Definition: ketypes.h:1693
struct _KDPC_WATCHDOG_INFORMATION * PKDPC_WATCHDOG_INFORMATION
struct _KTIMER KTIMER
struct _KTIMER PRKTIMER
enum _TIMER_SET_INFORMATION_CLASS TIMER_SET_INFORMATION_CLASS
struct _NT_TIB * PNT_TIB
struct _KWAIT_BLOCK * PKWAIT_BLOCK
KBUGCHECK_REASON_CALLBACK_ROUTINE * PKBUGCHECK_REASON_CALLBACK_ROUTINE
Definition: ketypes.h:323
enum _KWAIT_REASON KWAIT_REASON
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:741
KAPC_STATE
Definition: ketypes.h:1711
_In_ PVOID ServiceContext
Definition: ketypes.h:563
$endif(_WDMDDK_) $if(_WDMDDK_||_WINNT_) typedef struct _PROCESSOR_GROUP_INFO
Definition: ketypes.h:33
EXPAND_STACK_CALLOUT * PEXPAND_STACK_CALLOUT
Definition: ketypes.h:1167
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION * PSYSTEM_LOGICAL_PROCESSOR_INFORMATION
struct _KMUTANT KMUTEX
_KD_OPTION
Definition: ketypes.h:575
@ KD_OPTION_SET_BLOCK_ENABLE
Definition: ketypes.h:576
* PXSAVE_FORMAT
Definition: ketypes.h:1018
#define MINIMAL_XSTATE_AREA_LENGTH
struct _KBUGCHECK_SECONDARY_DUMP_DATA * PKBUGCHECK_SECONDARY_DUMP_DATA
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:742
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)
Definition: ketypes.h:1170
struct _XSTATE_CONTEXT XSTATE_CONTEXT
struct _KGUARDED_MUTEX KGUARDED_MUTEX
struct _CACHE_RELATIONSHIP CACHE_RELATIONSHIP
struct _KEVENT * PKEVENT
struct _DISPATCHER_HEADER DISPATCHER_HEADER
_Inout_opt_ PVOID Parameter
Definition: rtltypes.h:336
unsigned char UCHAR
Definition: xmlstorage.h:181
__wchar_t WCHAR
Definition: xmlstorage.h:180
_In_ PLARGE_INTEGER _In_opt_ PTIMER_APC_ROUTINE _In_opt_ PVOID TimerContext
Definition: zwfuncs.h:430