ReactOS 0.4.17-dev-357-ga8f14ff
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
94 $UCHAR Flags;
96 $UCHAR Reserved[20];
97 $USHORT GroupCount;
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 {
504#if (NTDDI_VERSION >= NTDDI_WIN8)
507#endif
508#if (NTDDI_VERSION >= NTDDI_WIN10_RS3)
510#endif
511#if (NTDDI_VERSION >= NTDDI_WIN11)
513#endif
514#if (NTDDI_VERSION >= NTDDI_WIN11_NI)
516#endif
517#if (NTDDI_VERSION >= NTDDI_WIN11_GE)
519#endif
522
523typedef struct _KWAIT_BLOCK {
525#if (NTDDI_VERSION >= NTDDI_WIN8)
529#ifdef _WIN64
530 LONG SpareLong;
531#endif
532 union {
535 };
538#else
539 struct _KTHREAD *Thread;
541 struct _KWAIT_BLOCK *NextWaitBlock;
544#if (NTDDI_VERSION >= NTDDI_WIN7)
545 volatile UCHAR BlockState;
546#else
547 UCHAR SpareByte;
548#endif
549#if defined(_WIN64)
550 LONG SpareLong;
551#endif
552#endif
554
555typedef enum _KINTERRUPT_MODE {
557 Latched
559
560#define THREAD_WAIT_OBJECTS 3
561
563_Function_class_(KSTART_ROUTINE)
564typedef VOID
565(NTAPI KSTART_ROUTINE)(
566 _In_ PVOID StartContext);
567typedef KSTART_ROUTINE *PKSTART_ROUTINE;
568
569typedef VOID
571 VOID);
572
573_Function_class_(KSERVICE_ROUTINE)
576typedef BOOLEAN
577(NTAPI KSERVICE_ROUTINE)(
578 _In_ struct _KINTERRUPT *Interrupt,
580typedef KSERVICE_ROUTINE *PKSERVICE_ROUTINE;
581
582_Function_class_(KMESSAGE_SERVICE_ROUTINE)
584typedef BOOLEAN
585(NTAPI KMESSAGE_SERVICE_ROUTINE)(
586 _In_ struct _KINTERRUPT *Interrupt,
589typedef KMESSAGE_SERVICE_ROUTINE *PKMESSAGE_SERVICE_ROUTINE;
590
591typedef enum _KD_OPTION {
594
595#ifdef _NTSYSTEM_
596typedef VOID
598 IN PVOID NormalContext OPTIONAL,
601
602typedef VOID
604 IN struct _KAPC *Apc);
605
606typedef VOID
608 IN struct _KAPC *Apc,
609 IN OUT PKNORMAL_ROUTINE *NormalRoutine OPTIONAL,
613#endif
614
615typedef struct _KAPC {
623#ifdef _NTSYSTEM_
624 PKKERNEL_ROUTINE KernelRoutine;
625 PKRUNDOWN_ROUTINE RundownRoutine;
626 PKNORMAL_ROUTINE NormalRoutine;
627#else
629#endif
637
638#define KAPC_OFFSET_TO_SPARE_BYTE0 FIELD_OFFSET(KAPC, SpareByte0)
639#define KAPC_OFFSET_TO_SPARE_BYTE1 FIELD_OFFSET(KAPC, SpareByte1)
640#define KAPC_OFFSET_TO_SPARE_LONG FIELD_OFFSET(KAPC, SpareLong0)
641#define KAPC_OFFSET_TO_SYSTEMARGUMENT1 FIELD_OFFSET(KAPC, SystemArgument1)
642#define KAPC_OFFSET_TO_SYSTEMARGUMENT2 FIELD_OFFSET(KAPC, SystemArgument2)
643#define KAPC_OFFSET_TO_APCSTATEINDEX FIELD_OFFSET(KAPC, ApcStateIndex)
644#define KAPC_ACTUAL_LENGTH (FIELD_OFFSET(KAPC, Inserted) + sizeof(BOOLEAN))
645
646typedef struct _KDEVICE_QUEUE_ENTRY {
652
654
655typedef VOID
657 IN OUT PKIPI_CONTEXT PacketContext,
658 IN PVOID Parameter1 OPTIONAL,
659 IN PVOID Parameter2 OPTIONAL,
660 IN PVOID Parameter3 OPTIONAL);
661
662typedef struct _KIPI_COUNTS {
678
680_Function_class_(KIPI_BROADCAST_WORKER)
682typedef ULONG_PTR
683(NTAPI KIPI_BROADCAST_WORKER)(
684 _In_ ULONG_PTR Argument);
685typedef KIPI_BROADCAST_WORKER *PKIPI_BROADCAST_WORKER;
686
688
689typedef struct _KSPIN_LOCK_QUEUE {
690 struct _KSPIN_LOCK_QUEUE *volatile Next;
693
694typedef struct _KLOCK_QUEUE_HANDLE {
698
699#if defined(_AMD64_)
700
702
703#define LockQueueDispatcherLock 0
704#define LockQueueExpansionLock 1
705#define LockQueuePfnLock 2
706#define LockQueueSystemSpaceLock 3
707#define LockQueueVacbLock 4
708#define LockQueueMasterLock 5
709#define LockQueueNonPagedPoolLock 6
710#define LockQueueIoCancelLock 7
711#define LockQueueWorkQueueLock 8
712#define LockQueueIoVpbLock 9
713#define LockQueueIoDatabaseLock 10
714#define LockQueueIoCompletionLock 11
715#define LockQueueNtfsStructLock 12
716#define LockQueueAfdWorkQueueLock 13
717#define LockQueueBcbLock 14
718#define LockQueueMmNonPagedPoolLock 15
719#define LockQueueUnusedSpare16 16
720#define LockQueueTimerTableLock 17
721#define LockQueueMaximumLock (LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS)
722
723#else
724
746
747#endif /* defined(_AMD64_) */
748
749_Function_class_(KDEFERRED_ROUTINE)
752typedef VOID
753(NTAPI KDEFERRED_ROUTINE)(
754 _In_ struct _KDPC *Dpc,
758typedef KDEFERRED_ROUTINE *PKDEFERRED_ROUTINE;
759
760typedef enum _KDPC_IMPORTANCE {
766
767typedef struct _KDPC {
770 volatile USHORT Number;
776 volatile PVOID DpcData;
778
786
787typedef struct _KDEVICE_QUEUE {
792# if defined(_AMD64_)
793 _ANONYMOUS_UNION union {
795 _ANONYMOUS_STRUCT struct {
797 LONG64 Hint:56;
800# else
802# endif
804
805#define TIMER_EXPIRED_INDEX_BITS 6
806#define TIMER_PROCESSOR_INDEX_BITS 5
807
808typedef struct _DISPATCHER_HEADER {
809 _ANONYMOUS_UNION union {
810 _ANONYMOUS_STRUCT struct {
812 _ANONYMOUS_UNION union {
813 _ANONYMOUS_UNION union {
815 _ANONYMOUS_STRUCT struct {
823#if (NTDDI_VERSION < NTDDI_WIN7)
824 UCHAR NpxIrql;
825#endif
828 _ANONYMOUS_UNION union {
829 _ANONYMOUS_UNION union {
831 _ANONYMOUS_STRUCT struct {
841 _ANONYMOUS_UNION union {
842#if (NTDDI_VERSION >= NTDDI_WIN7)
843 _ANONYMOUS_UNION union {
845 _ANONYMOUS_STRUCT struct {
846#if !defined(_X86_)
848#else
849 UCHAR Index:1;
851#endif
853 volatile UCHAR Expired:1;
856#else
857 /* Pre Win7 compatibility fix to latest WDK */
859#endif
860 _ANONYMOUS_UNION union {
862 _ANONYMOUS_STRUCT struct {
869 } DUMMYUNIONNAME; /* should probably be DUMMYUNIONNAME2, but this is what WDK says */
873 volatile LONG Lock;
878
879typedef struct _KEVENT {
882
883typedef struct _KSEMAPHORE {
887
888#define KSEMAPHORE_ACTUAL_LENGTH (FIELD_OFFSET(KSEMAPHORE, Limit) + sizeof(LONG))
889
890typedef struct _KGATE {
893
894typedef struct _KGUARDED_MUTEX {
895 volatile LONG Count;
899 _ANONYMOUS_UNION union {
900 _ANONYMOUS_STRUCT struct {
907
908typedef struct _KMUTANT {
915
916#define TIMER_TABLE_SIZE 512
917#define TIMER_TABLE_SHIFT 9
918
919typedef struct _KTIMER {
923 struct _KDPC *Dpc;
924#if (NTDDI_VERSION >= NTDDI_WIN7) && !defined(_X86_)
926#endif
929
930typedef enum _LOCK_OPERATION {
935
936#define KTIMER_ACTUAL_LENGTH (FIELD_OFFSET(KTIMER, Period) + sizeof(LONG))
937
938_Function_class_(KSYNCHRONIZE_ROUTINE)
940typedef BOOLEAN
941(NTAPI KSYNCHRONIZE_ROUTINE)(
943typedef KSYNCHRONIZE_ROUTINE *PKSYNCHRONIZE_ROUTINE;
944
945typedef enum _POOL_TYPE {
954
959
968
974
975/* Correctly define these run-time definitions for non X86 machines */
976#ifndef _X86_
977
978#ifndef IsNEC_98
979#define IsNEC_98 (FALSE)
980#endif
981
982#ifndef IsNotNEC_98
983#define IsNotNEC_98 (TRUE)
984#endif
985
986#ifndef SetNEC_98
987#define SetNEC_98
988#endif
989
990#ifndef SetNotNEC_98
991#define SetNotNEC_98
992#endif
993
994#endif
995
996typedef struct _KSYSTEM_TIME {
1001
1004
1005typedef struct DECLSPEC_ALIGN(16) _M128A {
1006 ULONGLONG Low;
1007 LONGLONG High;
1009
1010typedef struct DECLSPEC_ALIGN(16) _XSAVE_FORMAT {
1011 USHORT ControlWord;
1012 USHORT StatusWord;
1013 UCHAR TagWord;
1015 USHORT ErrorOpcode;
1016 ULONG ErrorOffset;
1017 USHORT ErrorSelector;
1019 ULONG DataOffset;
1020 USHORT DataSelector;
1022 ULONG MxCsr;
1023 ULONG MxCsr_Mask;
1024 M128A FloatRegisters[8];
1025#if defined(_WIN64)
1026 M128A XmmRegisters[16];
1027 UCHAR Reserved4[96];
1028#else
1029 M128A XmmRegisters[8];
1030 UCHAR Reserved4[192];
1031 ULONG StackControl[7];
1032 ULONG Cr0NpxState;
1033#endif
1036
1037typedef struct DECLSPEC_ALIGN(8) _XSAVE_AREA_HEADER {
1038 ULONG64 Mask;
1039 ULONG64 CompactionMask;
1040 ULONG64 Reserved2[6];
1042
1043typedef struct DECLSPEC_ALIGN(16) _XSAVE_AREA {
1044 XSAVE_FORMAT LegacyState;
1047
1048typedef struct _XSTATE_CONTEXT {
1053#if defined(_X86_)
1055#endif
1057#if defined(_X86_)
1059#endif
1061
1062typedef struct _XSTATE_SAVE {
1063#if defined(_AMD64_)
1064 struct _XSTATE_SAVE* Prev;
1065 struct _KTHREAD* Thread;
1066 UCHAR Level;
1067 XSTATE_CONTEXT XStateContext;
1068#elif defined(_IA64_) || defined(_ARM_) || defined(_ARM64_)
1069 ULONG Dummy;
1070#elif defined(_X86_)
1071 _ANONYMOUS_UNION union {
1072 _ANONYMOUS_STRUCT struct {
1075 struct _XSTATE_SAVE* Prev;
1077 struct _KTHREAD* Thread;
1079 UCHAR Level;
1081 XSTATE_CONTEXT XStateContext;
1083#endif
1085
1088
1089#ifdef _X86_
1090
1091#define MAXIMUM_SUPPORTED_EXTENSION 512
1092
1093#if !defined(__midl) && !defined(MIDL_PASS)
1095#endif
1096
1097#endif /* _X86_ */
1098
1099#define XSAVE_ALIGN 64
1100#define MINIMAL_XSTATE_AREA_LENGTH sizeof(XSAVE_AREA)
1101
1102#if !defined(__midl) && !defined(MIDL_PASS)
1103C_ASSERT((sizeof(XSAVE_FORMAT) & (XSAVE_ALIGN - 1)) == 0);
1106#endif
1107
1108typedef struct _CONTEXT_CHUNK {
1112
1113typedef struct _CONTEXT_EX {
1118
1119#define CONTEXT_EX_LENGTH ALIGN_UP_BY(sizeof(CONTEXT_EX), STACK_ALIGN)
1120
1121#if (NTDDI_VERSION >= NTDDI_VISTA)
1122extern NTSYSAPI volatile CCHAR KeNumberProcessors;
1123#elif (NTDDI_VERSION >= NTDDI_WINXP)
1125#else
1127extern PCCHAR KeNumberProcessors;
1128#endif
1129
1131$if (_NTDDK_)
1132
1133typedef struct _EXCEPTION_REGISTRATION_RECORD
1134{
1138
1139typedef struct _NT_TIB {
1144 _ANONYMOUS_UNION union {
1149 struct _NT_TIB *Self;
1151
1152typedef struct _NT_TIB32 {
1157 _ANONYMOUS_UNION union {
1162 ULONG Self;
1164
1165typedef struct _NT_TIB64 {
1170 _ANONYMOUS_UNION union {
1175 ULONG64 Self;
1177
1179_Function_class_(EXPAND_STACK_CALLOUT)
1180typedef VOID
1181(NTAPI EXPAND_STACK_CALLOUT)(
1183typedef EXPAND_STACK_CALLOUT *PEXPAND_STACK_CALLOUT;
1184
1185typedef VOID
1188 _In_ ULONG TimerLowValue,
1189 _In_ LONG TimerHighValue);
1190
1195
1196#if (NTDDI_VERSION >= NTDDI_WIN7)
1206#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
1207
1209$if (_NTDDK_ || _WINNT_)
1210
1211typedef union _ARM64_NT_NEON128
1212{
1213 struct
1214 {
1215 ULONGLONG Low;
1216 LONGLONG High;
1218 double D[2];
1219 float S[4];
1220 USHORT H[8];
1221 UCHAR B[16];
1223
1224#define ARM64_MAX_BREAKPOINTS 8
1225#define ARM64_MAX_WATCHPOINTS 2
1226
1227typedef struct DECLSPEC_ALIGN(16) DECLSPEC_NOINITALL _ARM64_NT_CONTEXT
1228{
1229 ULONG ContextFlags;
1230 ULONG Cpsr;
1231 union
1232 {
1233 struct
1234 {
1235 ULONG64 X0;
1236 ULONG64 X1;
1237 ULONG64 X2;
1238 ULONG64 X3;
1239 ULONG64 X4;
1240 ULONG64 X5;
1241 ULONG64 X6;
1242 ULONG64 X7;
1243 ULONG64 X8;
1244 ULONG64 X9;
1245 ULONG64 X10;
1246 ULONG64 X11;
1247 ULONG64 X12;
1248 ULONG64 X13;
1249 ULONG64 X14;
1250 ULONG64 X15;
1251 ULONG64 X16;
1252 ULONG64 X17;
1253 ULONG64 X18;
1254 ULONG64 X19;
1255 ULONG64 X20;
1256 ULONG64 X21;
1257 ULONG64 X22;
1258 ULONG64 X23;
1259 ULONG64 X24;
1260 ULONG64 X25;
1261 ULONG64 X26;
1262 ULONG64 X27;
1263 ULONG64 X28;
1264 ULONG64 Fp;
1265 ULONG64 Lr;
1267 ULONG64 X[31];
1269 ULONG64 Sp;
1270 ULONG64 Pc;
1271 ARM64_NT_NEON128 V[32];
1272 ULONG Fpcr;
1273 ULONG Fpsr;
1279
1280#define XSTATE_LEGACY_FLOATING_POINT 0
1281#define XSTATE_LEGACY_SSE 1
1282#define XSTATE_GSSE 2
1283#define XSTATE_AVX XSTATE_GSSE
1284#define XSTATE_MPX_BNDREGS 3
1285#define XSTATE_MPX_BNDCSR 4
1286#define XSTATE_AVX512_KMASK 5
1287#define XSTATE_AVX512_ZMM_H 6
1288#define XSTATE_AVX512_ZMM 7
1289#define XSTATE_IPT 8
1290#define XSTATE_PASID 10
1291#define XSTATE_CET_U 11
1292#define XSTATE_CET_S 12
1293#define XSTATE_AMX_TILE_CONFIG 17
1294#define XSTATE_AMX_TILE_DATA 18
1295#define XSTATE_LWP 62
1296#define MAXIMUM_XSTATE_FEATURES 64
1297
1298#define XSTATE_MASK_LEGACY_FLOATING_POINT (1LL << (XSTATE_LEGACY_FLOATING_POINT))
1299#define XSTATE_MASK_LEGACY_SSE (1LL << (XSTATE_LEGACY_SSE))
1300#define XSTATE_MASK_LEGACY (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE)
1301#define XSTATE_MASK_GSSE (1LL << (XSTATE_GSSE))
1302#define XSTATE_MASK_AVX XSTATE_MASK_GSSE
1303#define XSTATE_MASK_MPX ((1LL << (XSTATE_MPX_BNDREGS)) | (1LL << (XSTATE_MPX_BNDCSR)))
1304#define XSTATE_MASK_AVX512 ((1LL << (XSTATE_AVX512_KMASK)) | (1LL << (XSTATE_AVX512_ZMM_H)) | (1LL << (XSTATE_AVX512_ZMM)))
1305#define XSTATE_MASK_IPT (1LL << (XSTATE_IPT))
1306#define XSTATE_MASK_PASID (1LL << (XSTATE_PASID))
1307#define XSTATE_MASK_CET_U (1LL << (XSTATE_CET_U))
1308#define XSTATE_MASK_CET_S (1LL << (XSTATE_CET_S))
1309#define XSTATE_MASK_AMX_TILE_CONFIG (1LL << (XSTATE_AMX_TILE_CONFIG))
1310#define XSTATE_MASK_AMX_TILE_DATA (1LL << (XSTATE_AMX_TILE_DATA))
1311#define XSTATE_MASK_LWP (1LL << (XSTATE_LWP))
1312
1313#if defined(_AMD64_)
1314#define XSTATE_MASK_ALLOWED \
1315 (XSTATE_MASK_LEGACY | \
1316 XSTATE_MASK_AVX | \
1317 XSTATE_MASK_MPX | \
1318 XSTATE_MASK_AVX512 | \
1319 XSTATE_MASK_IPT | \
1320 XSTATE_MASK_PASID | \
1321 XSTATE_MASK_CET_U | \
1322 XSTATE_MASK_AMX_TILE_CONFIG | \
1323 XSTATE_MASK_AMX_TILE_DATA | \
1324 XSTATE_MASK_LWP)
1325#elif defined(_X86_)
1326#define XSTATE_MASK_ALLOWED \
1327 (XSTATE_MASK_LEGACY | \
1328 XSTATE_MASK_AVX | \
1329 XSTATE_MASK_MPX | \
1330 XSTATE_MASK_AVX512 | \
1331 XSTATE_MASK_IPT | \
1332 XSTATE_MASK_CET_U | \
1333 XSTATE_MASK_LWP)
1334#endif
1335
1336#define XSTATE_MASK_PERSISTENT ((1LL << (XSTATE_MPX_BNDCSR)) | XSTATE_MASK_LWP)
1337#define XSTATE_MASK_USER_VISIBLE_SUPERVISOR (XSTATE_MASK_CET_U)
1338#define XSTATE_MASK_LARGE_FEATURES (XSTATE_MASK_AMX_TILE_DATA)
1339
1340#if defined(_X86_)
1341#if !defined(__midl) && !defined(MIDL_PASS)
1342C_ASSERT((XSTATE_MASK_ALLOWED & XSTATE_MASK_LARGE_FEATURES) == 0);
1343#endif
1344#endif
1345
1346#define XSTATE_COMPACTION_ENABLE 63
1347#define XSTATE_COMPACTION_ENABLE_MASK (1LL << (XSTATE_COMPACTION_ENABLE))
1348#define XSTATE_ALIGN_BIT 1
1349#define XSTATE_ALIGN_MASK (1LL << (XSTATE_ALIGN_BIT))
1350
1351#define XSTATE_XFD_BIT 2
1352#define XSTATE_XFD_MASK (1LL << (XSTATE_XFD_BIT))
1353
1354#define XSTATE_CONTROLFLAG_XSAVEOPT_MASK 1
1355#define XSTATE_CONTROLFLAG_XSAVEC_MASK 2
1356#define XSTATE_CONTROLFLAG_XFD_MASK 4
1357#define XSTATE_CONTROLFLAG_VALID_MASK \
1358 (XSTATE_CONTROLFLAG_XSAVEOPT_MASK | \
1359 XSTATE_CONTROLFLAG_XSAVEC_MASK | \
1360 XSTATE_CONTROLFLAG_XFD_MASK)
1361
1362#define MAXIMUM_XSTATE_FEATURES 64
1363
1364typedef struct _XSTATE_FEATURE {
1368
1370{
1372#if (NTDDI_VERSION >= NTDDI_WIN8) || defined(__REACTOS__)
1374#endif
1376 union
1377 {
1379 struct
1380 {
1384 };
1385 };
1387#if (NTDDI_VERSION >= NTDDI_WIN10) || defined(__REACTOS__)
1392#endif
1393#if (NTDDI_VERSION >= NTDDI_WIN10_RS5) || defined(__REACTOS__)
1395#endif
1396#if (NTDDI_VERSION >= NTDDI_WIN11) || defined(__REACTOS__)
1400#endif
1402
1404$if (_NTDDK_)
1405
1406#define MAX_WOW64_SHARED_ENTRIES 16
1407
1408//
1409// Flags for NXSupportPolicy
1410//
1411#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
1412#define NX_SUPPORT_POLICY_ALWAYSOFF 0
1413#define NX_SUPPORT_POLICY_ALWAYSON 1
1414#define NX_SUPPORT_POLICY_OPTIN 2
1415#define NX_SUPPORT_POLICY_OPTOUT 3
1416#endif
1417
1418//
1419// Shared Kernel User Data
1420// Keep in sync with sdk/include/ndk/ketypes.h
1421//
1422typedef struct _KUSER_SHARED_DATA
1423{
1426 volatile KSYSTEM_TIME InterruptTime; // 0x8
1427 volatile KSYSTEM_TIME SystemTime; // 0x14
1428 volatile KSYSTEM_TIME TimeZoneBias; // 0x20
1429 USHORT ImageNumberLow; // 0x2c
1430 USHORT ImageNumberHigh; // 0x2e
1431 WCHAR NtSystemRoot[260]; // 0x30
1432 ULONG MaxStackTraceDepth; // 0x238
1433 ULONG CryptoExponent; // 0x23c
1434 ULONG TimeZoneId; // 0x240
1435 ULONG LargePageMinimum; // 0x244
1436
1437#if (NTDDI_VERSION >= NTDDI_WIN8)
1438 ULONG AitSamplingValue; // 0x248
1439 ULONG AppCompatFlag; // 0x24c
1440 ULONGLONG RNGSeedVersion; // 0x250
1441 ULONG GlobalValidationRunlevel; // 0x258
1442 volatile LONG TimeZoneBiasStamp; // 0x25c
1443#if (NTDDI_VERSION >= NTDDI_WIN10)
1444 ULONG NtBuildNumber; // 0x260
1445#else
1446 ULONG Reserved2; // 0x260
1447#endif
1448#else
1449 ULONG Reserved2[7]; // 0x248
1450#endif // NTDDI_VERSION >= NTDDI_WIN8
1451
1453 BOOLEAN ProductTypeIsValid; // 0x268
1454 BOOLEAN Reserved0[1]; // 0x269
1455#if (NTDDI_VERSION >= NTDDI_WIN8)
1457#endif
1458 ULONG NtMajorVersion; // 0x26c
1459 ULONG NtMinorVersion; // 0x270
1461 ULONG Reserved1; // 0x2b4
1462 ULONG Reserved3; // 0x2b8
1463 volatile ULONG TimeSlip; // 0x2bc
1465#if (NTDDI_VERSION >= NTDDI_WIN10)
1466 ULONG BootId; // 0x2c4
1467#else
1468 ULONG AltArchitecturePad[1]; // 0x2c4
1469#endif
1471 ULONG SuiteMask; // 0x2d0
1472 BOOLEAN KdDebuggerEnabled; // 0x2d4
1473 union
1474 {
1475 UCHAR MitigationPolicies; // 0x2d5
1476 struct
1477 {
1479 UCHAR SEHValidationPolicy : 2;
1480 UCHAR CurDirDevicesSkippedForDlls : 2;
1481 UCHAR Reserved : 2;
1482 };
1483 };
1484#if (NTDDI_VERSION >= NTDDI_WIN10_19H1)
1485 USHORT CyclesPerYield; // 0x2d6 // Win 10 19H1+
1486#else
1487 UCHAR Reserved6[2]; // 0x2d6
1488#endif
1489 volatile ULONG ActiveConsoleId; // 0x2d8
1490 volatile ULONG DismountCount; // 0x2dc
1491 ULONG ComPlusPackage; // 0x2e0
1494 BOOLEAN SafeBootMode; // 0x2ec
1495
1496#if (NTDDI_VERSION == NTDDI_WIN7)
1497 union
1498 {
1499 UCHAR TscQpcData; // 0x2ed
1500 struct
1501 {
1502 UCHAR TscQpcEnabled:1; // 0x2ed
1503 UCHAR TscQpcSpareFlag:1; // 0x2ed
1504 UCHAR TscQpcShift:6; // 0x2ed
1507 UCHAR TscQpcPad[2]; // 0x2ee
1508#elif (NTDDI_VERSION >= NTDDI_WIN10_RS1)
1509 union
1510 {
1511 UCHAR VirtualizationFlags; // 0x2ed
1512#if defined(_ARM64_)
1513 struct
1514 {
1515 UCHAR ArchStartedInEl2 : 1;
1516 UCHAR QcSlIsSupported : 1;
1517 UCHAR : 6;
1518 };
1519#endif
1520 };
1521 UCHAR Reserved12[2]; // 0x2ee
1522#else
1523 UCHAR Reserved12[3]; // 0x2ed
1524#endif // NTDDI_VERSION == NTDDI_WIN7
1525
1526#if (NTDDI_VERSION >= NTDDI_VISTA)
1527 union
1528 {
1529 ULONG SharedDataFlags; // 0x2f0
1530 struct
1531 {
1532 ULONG DbgErrorPortPresent : 1; // 0x2f0
1533 ULONG DbgElevationEnabled : 1; // 0x2f0
1534 ULONG DbgVirtEnabled : 1; // 0x2f0
1535 ULONG DbgInstallerDetectEnabled : 1; // 0x2f0
1536#if (NTDDI_VERSION >= NTDDI_WIN8)
1537 ULONG DbgLkgEnabled : 1; // 0x2f0
1538#else
1539 ULONG DbgSystemDllRelocated : 1; // 0x2f0
1540#endif
1541 ULONG DbgDynProcessorEnabled : 1; // 0x2f0
1542#if (NTDDI_VERSION >= NTDDI_WIN8)
1543 ULONG DbgConsoleBrokerEnabled : 1; // 0x2f0
1544#else
1545 ULONG DbgSEHValidationEnabled : 1; // 0x2f0
1546#endif
1547 ULONG DbgSecureBootEnabled : 1; // 0x2f0 Win8+
1548 ULONG DbgMultiSessionSku : 1; // 0x2f0 Win 10+
1549 ULONG DbgMultiUsersInSessionSku : 1; // 0x2f0 Win 10 RS1+
1550 ULONG DbgStateSeparationEnabled : 1; // 0x2f0 Win 10 RS3+
1551 ULONG SpareBits : 21; // 0x2f0
1554#else
1555 ULONG TraceLogging;
1556#endif // NTDDI_VERSION >= NTDDI_VISTA
1557
1558 ULONG DataFlagsPad[1]; // 0x2f4
1560#if (NTDDI_VERSION >= NTDDI_WIN8)
1561 ULONGLONG QpcFrequency; // 0x300
1562#else
1563 ULONG SystemCall; // 0x300
1564 ULONG SystemCallReturn; // 0x304
1565#endif
1566#if (NTDDI_VERSION >= NTDDI_WIN10_TH2)
1567 ULONG SystemCall; // 0x308
1568 ULONG SystemCallPad0; // 0x30c Renamed to Reserved2 in Vibranium R3
1569 ULONGLONG SystemCallPad[2]; // 0x310
1570#else
1571 ULONGLONG SystemCallPad[3]; // 0x308
1572#endif
1573 union
1574 {
1575 volatile KSYSTEM_TIME TickCount; // 0x320
1576 volatile ULONG64 TickCountQuad; // 0x320
1577 struct
1578 {
1579 ULONG ReservedTickCountOverlay[3]; // 0x320
1580 ULONG TickCountPad[1]; // 0x32c
1583 ULONG Cookie; // 0x330
1584
1585#if (NTDDI_VERSION < NTDDI_VISTA)
1586 ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x334
1587#endif
1588
1589//
1590// Windows Vista and later
1591//
1592#if (NTDDI_VERSION >= NTDDI_VISTA)
1593
1594 ULONG CookiePad[1]; // 0x334
1596
1597#if (NTDDI_VERSION >= NTDDI_WIN8)
1598#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1599 ULONGLONG TimeUpdateLock; // 0x340
1600#else
1601 ULONGLONG TimeUpdateSequence; // 0x340
1602#endif
1607#if (NTDDI_VERSION >= NTDDI_WIN10)
1611 ULONG EnclaveFeatureMask[4]; // 0x36c Win 10 TH2+
1612 ULONG TelemetryCoverageRound; // 0x37c Win 10 RS2+
1613#else // NTDDI_VERSION < NTDDI_WIN10
1614 ULONG QpcSystemTimeIncrement32; // 0x368
1615 ULONG QpcInterruptTimeIncrement32; // 0x36c
1618#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1620 UCHAR Reserved8[12]; // 0x374
1621#else
1622 UCHAR Reserved8[14]; // 0x372
1623#endif
1624#endif // NTDDI_VERSION < NTDDI_WIN10
1625#elif (NTDDI_VERSION >= NTDDI_VISTASP2)
1626 ULONG DEPRECATED_Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x340
1627#else
1628 ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]; // 0x340
1629#endif // NTDDI_VERSION >= NTDDI_VISTA
1630
1631#if (NTDDI_VERSION >= NTDDI_WIN7)
1632 USHORT UserModeGlobalLogger[16]; // 0x380
1633#else
1634 USHORT UserModeGlobalLogger[8]; // 0x380
1635 ULONG HeapTracingPid[2]; // 0x390
1636 ULONG CritSecTracingPid[2]; // 0x398
1637#endif
1638
1640 ULONG LangGenerationCount; // 0x3a4 Vista SP2+
1641
1642#if (NTDDI_VERSION >= NTDDI_WIN8)
1643 ULONGLONG Reserved4; // 0x3a8
1644#elif (NTDDI_VERSION >= NTDDI_WIN7)
1645 ULONGLONG Reserved5; // 0x3a8
1646#else
1647 union
1648 {
1650 ULONGLONG AffinityPad; // 0x3a8
1651 };
1652#endif
1653
1654 volatile ULONGLONG InterruptTimeBias; // 0x3b0
1655#endif // NTDDI_VERSION >= NTDDI_VISTA
1656
1657//
1658// Windows 7 and later
1659//
1660#if (NTDDI_VERSION >= NTDDI_WIN7)
1661 volatile ULONGLONG QpcBias; // 0x3b8 // Win7: TscQpcBias
1662 /* volatile */ ULONG ActiveProcessorCount; // 0x3c0 // not volatile since Win 8.1 Update 1
1663
1664#if (NTDDI_VERSION >= NTDDI_WIN8)
1665 volatile UCHAR ActiveGroupCount; // 0x3c4
1666 UCHAR Reserved9; // 0x3c5
1667 union
1668 {
1669 USHORT QpcData; // 0x3c6
1670 struct
1671 {
1672 volatile UCHAR QpcBypassEnabled; // 0x3c6
1673 UCHAR QpcShift; // 0x3c7
1674 };
1675 };
1679#else
1680 USHORT ActiveGroupCount; // 0x3c4
1681 USHORT Reserved4; // 0x3c6
1682 volatile ULONG AitSamplingValue; // 0x3c8
1683 volatile ULONG AppCompatFlag; // 0x3cc
1684 ULONGLONG SystemDllNativeRelocation; // 0x3d0 deprecated in Win7 SP2
1685 ULONG SystemDllWowRelocation; // 0x3d8 deprecated in Win7 SP2
1686 ULONG XStatePad[1]; // 0x3dc
1688#endif // NTDDI_VERSION >= NTDDI_WIN8
1689#endif // NTDDI_VERSION >= NTDDI_WIN7
1690
1691//
1692// Windows 10 Vibranium and later
1693//
1694#if (NTDDI_VERSION >= NTDDI_WIN10_VB)
1695 KSYSTEM_TIME FeatureConfigurationChangeStamp; // 0x710 // Win 11: 0x720
1696 ULONG Spare; // 0x71c // Win 11: 0x72c
1697#endif // NTDDI_VERSION >= NTDDI_WIN10_VB
1698
1699//
1700// Windows 11 Nickel and later
1701//
1702#if (NTDDI_VERSION >= NTDDI_WIN11_NI)
1703 ULONG64 UserPointerAuthMask; // 0x730
1704#endif // NTDDI_VERSION >= NTDDI_WIN11_NI
1705
1706#if (NTDDI_VERSION < NTDDI_WIN7) && defined(__REACTOS__)
1708#endif
1710
1711#if (NTDDI_VERSION >= NTDDI_VISTA)
1713#elif (NTDDI_VERSION >= NTDDI_WINXP)
1715#else
1716extern PCCHAR KeNumberProcessors;
1717#endif
1718
1720$if (_NTIFS_)
1721typedef struct _KAPC_STATE {
1722 LIST_ENTRY ApcListHead[MaximumMode];
1724 BOOLEAN KernelApcInProgress;
1725 BOOLEAN KernelApcPending;
1726 BOOLEAN UserApcPending;
1728
1729#define KAPC_STATE_ACTUAL_LENGTH (FIELD_OFFSET(KAPC_STATE, UserApcPending) + sizeof(BOOLEAN))
1730
1731#define ASSERT_QUEUE(Q) ASSERT(((Q)->Header.Type & KOBJECT_TYPE_MASK) == QueueObject);
1732
1733typedef struct _KQUEUE {
1740
1742
DWORD Id
Type
Definition: Type.h:7
#define VOID
Definition: acefi.h:82
unsigned char BOOLEAN
Definition: actypes.h:127
LONG NTSTATUS
Definition: precomp.h:26
@ Group
Definition: help.c:22
#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
#define DECLSPEC_ALIGN(x)
Definition: corecrt.h:141
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
#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:894
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:898
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:888
#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
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
short WCHAR
Definition: pedump.c:58
#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
@ Reserved2
Definition: sacdrv.h:1470
@ Reserved5
Definition: sacdrv.h:1473
@ Reserved1
Definition: sacdrv.h:1464
_KINTERRUPT_MODE
Definition: miniport.h:79
#define ARM64_MAX_WATCHPOINTS
#define ARM64_MAX_BREAKPOINTS
_In_ PVOID Context
Definition: storport.h:2269
@ 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:1110
CONTEXT_CHUNK XState
Definition: ketypes.h:1116
CONTEXT_CHUNK All
Definition: ketypes.h:1114
CONTEXT_CHUNK Legacy
Definition: ketypes.h:1115
UCHAR TimerControlFlags
Definition: ketypes.h:814
volatile UCHAR Expired
Definition: ketypes.h:853
BOOLEAN DpcActive
Definition: ketypes.h:870
_ANONYMOUS_STRUCT struct _DISPATCHER_HEADER::@4597::@4598::@4599::@4602::@4603 DUMMYSTRUCTNAME
UCHAR TimerMiscFlags
Definition: ketypes.h:844
_ANONYMOUS_UNION union _DISPATCHER_HEADER::@4597::@4598::@4600 DUMMYUNIONNAME2
BOOLEAN ActiveDR7
Definition: ketypes.h:863
volatile LONG Lock
Definition: ketypes.h:873
UCHAR KeepShifting
Definition: ketypes.h:818
BOOLEAN DebugActive
Definition: ketypes.h:861
BOOLEAN UmsPrimary
Definition: ketypes.h:867
_ANONYMOUS_UNION union _DISPATCHER_HEADER::@4597::@4598::@4599::@4602 DUMMYUNIONNAME
UCHAR CpuThrottled
Definition: ketypes.h:832
LIST_ENTRY WaitListHead
Definition: ketypes.h:876
UCHAR CycleProfiling
Definition: ketypes.h:833
UCHAR EncodedTolerableDelay
Definition: ketypes.h:819
BOOLEAN Reserved2
Definition: ketypes.h:865
BOOLEAN Instrumented
Definition: ketypes.h:864
UCHAR ThreadControlFlags
Definition: ketypes.h:830
UCHAR CounterProfiling
Definition: ketypes.h:834
BOOLEAN Signalling
Definition: ketypes.h:826
_ANONYMOUS_UNION union _DISPATCHER_HEADER::@4597::@4598::@4601 DUMMYUNIONNAME3
BOOLEAN UmsScheduled
Definition: ketypes.h:866
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:615
UCHAR Size
Definition: ketypes.h:618
PVOID NormalContext
Definition: ketypes.h:630
KPROCESSOR_MODE ApcMode
Definition: ketypes.h:634
struct _KTHREAD * Thread
Definition: ketypes.h:621
BOOLEAN Inserted
Definition: ketypes.h:635
PVOID SystemArgument1
Definition: ketypes.h:631
CCHAR ApcStateIndex
Definition: ketypes.h:633
LIST_ENTRY ApcListEntry
Definition: ketypes.h:622
UCHAR Type
Definition: ketypes.h:616
PVOID SystemArgument2
Definition: ketypes.h:632
UCHAR SpareByte0
Definition: ketypes.h:617
UCHAR SpareByte1
Definition: ketypes.h:619
ULONG SpareLong0
Definition: ketypes.h:620
_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:646
LIST_ENTRY DeviceListEntry
Definition: ketypes.h:647
ULONG SortKey
Definition: ketypes.h:648
BOOLEAN Inserted
Definition: ketypes.h:649
BOOLEAN Busy
Definition: ketypes.h:801
LIST_ENTRY DeviceListHead
Definition: ketypes.h:790
KSPIN_LOCK Lock
Definition: ketypes.h:791
CSHORT Type
Definition: ketypes.h:788
CSHORT Size
Definition: ketypes.h:789
Definition: ketypes.h:767
UCHAR Type
Definition: ketypes.h:768
LIST_ENTRY DpcListEntry
Definition: ketypes.h:771
PVOID SystemArgument2
Definition: ketypes.h:775
UCHAR Importance
Definition: ketypes.h:769
PVOID SystemArgument1
Definition: ketypes.h:774
PKDEFERRED_ROUTINE DeferredRoutine
Definition: ketypes.h:772
volatile PVOID DpcData
Definition: ketypes.h:776
volatile USHORT Number
Definition: ketypes.h:770
PVOID DeferredContext
Definition: ketypes.h:773
DISPATCHER_HEADER Header
Definition: ketypes.h:880
KE_PROCESSOR_CHANGE_NOTIFY_STATE State
Definition: ketypes.h:411
DISPATCHER_HEADER Header
Definition: ketypes.h:891
_ANONYMOUS_UNION union _KGUARDED_MUTEX::@4610 DUMMYUNIONNAME
volatile LONG Count
Definition: ketypes.h:895
ULONG Contention
Definition: ketypes.h:897
_ANONYMOUS_STRUCT struct _KGUARDED_MUTEX::@4610::@4611 DUMMYSTRUCTNAME
ULONG CombinedApcDisable
Definition: ketypes.h:904
PKTHREAD Owner
Definition: ketypes.h:896
SHORT KernelApcDisable
Definition: ketypes.h:901
SHORT SpecialApcDisable
Definition: ketypes.h:902
ULONG Freeze
Definition: ketypes.h:663
ULONG FlushSingleTb
Definition: ketypes.h:667
ULONG FlushMultipleTb
Definition: ketypes.h:668
ULONG APC
Definition: ketypes.h:666
ULONG Packet
Definition: ketypes.h:664
ULONG FlushEntireTb
Definition: ketypes.h:669
ULONG FlushIoBuffers
Definition: ketypes.h:675
ULONG SweepIcache
Definition: ketypes.h:673
ULONG SweepIcacheRange
Definition: ketypes.h:674
ULONG GenericCall
Definition: ketypes.h:670
ULONG DPC
Definition: ketypes.h:665
ULONG ChangeColor
Definition: ketypes.h:671
ULONG SweepDcache
Definition: ketypes.h:672
ULONG GratuitousDPC
Definition: ketypes.h:676
KSPIN_LOCK_QUEUE LockQueue
Definition: ketypes.h:695
DISPATCHER_HEADER Header
Definition: ketypes.h:909
LIST_ENTRY MutantListEntry
Definition: ketypes.h:910
BOOLEAN Abandoned
Definition: ketypes.h:912
struct _KTHREAD *RESTRICTED_POINTER OwnerThread
Definition: ketypes.h:911
UCHAR ApcDisable
Definition: ketypes.h:913
LIST_ENTRY EntryListHead
Definition: ketypes.h:1735
ULONG MaximumCount
Definition: ketypes.h:1737
DISPATCHER_HEADER Header
Definition: ketypes.h:1734
LIST_ENTRY ThreadListHead
Definition: ketypes.h:1738
volatile ULONG CurrentCount
Definition: ketypes.h:1736
LONG Limit
Definition: ketypes.h:885
DISPATCHER_HEADER Header
Definition: ketypes.h:884
struct _KSPIN_LOCK_QUEUE *volatile Next
Definition: ketypes.h:690
PKSPIN_LOCK volatile Lock
Definition: ketypes.h:691
LONG High1Time
Definition: wdm.h:6
LONG High2Time
Definition: wdm.h:7
ULONG LowPart
Definition: wdm.h:5
struct _KDPC * Dpc
Definition: ketypes.h:923
ULONG Processor
Definition: ketypes.h:925
ULARGE_INTEGER DueTime
Definition: ketypes.h:921
ULONG Period
Definition: ketypes.h:927
DISPATCHER_HEADER Header
Definition: ketypes.h:920
LIST_ENTRY TimerListEntry
Definition: ketypes.h:922
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
struct _KUSER_SHARED_DATA::@4209::@4213 DUMMYSTRUCTNAME
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
ULONGLONG TestRetInstruction
Definition: wdm.h:85
ULONGLONG QpcInterruptTimeIncrement
Definition: wdm.h:109
volatile ULONG ActiveConsoleId
Definition: wdm.h:60
volatile ULONGLONG InterruptTimeBias
Definition: wdm.h:119
union _KUSER_SHARED_DATA::@4211 DUMMYUNIONNAME3
struct _KUSER_SHARED_DATA::@4208::@4212 DUMMYSTRUCTNAME2
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
union _KUSER_SHARED_DATA::@4210 DUMMYUNIONNAME
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
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
union _KUSER_SHARED_DATA::@4208 DUMMYUNIONNAME2
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
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
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:527
PVOID SparePtr
Definition: ketypes.h:537
struct _KQUEUE * NotificationQueue
Definition: ketypes.h:534
struct _KTHREAD * Thread
Definition: ketypes.h:533
PVOID Object
Definition: ketypes.h:536
LIST_ENTRY WaitListEntry
Definition: ketypes.h:524
UCHAR WaitType
Definition: ketypes.h:526
USHORT WaitKey
Definition: ketypes.h:528
Definition: typedefs.h:120
ULONG Self
Definition: winternl.h:721
ULONG ArbitraryUserPointer
Definition: winternl.h:720
ULONG StackLimit
Definition: winternl.h:717
_ANONYMOUS_UNION union _NT_TIB32::@4613 DUMMYUNIONNAME
ULONG Version
Definition: ketypes.h:1159
ULONG StackBase
Definition: winternl.h:716
ULONG FiberData
Definition: winternl.h:719
ULONG SubSystemTib
Definition: winternl.h:718
ULONG ExceptionList
Definition: winternl.h:715
ULONG Version
Definition: ketypes.h:1172
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
_ANONYMOUS_UNION union _NT_TIB64::@4614 DUMMYUNIONNAME
ULONG64 StackBase
Definition: winternl.h:727
ULONG64 FiberData
Definition: winternl.h:730
PVOID ArbitraryUserPointer
Definition: compat.h:719
ULONG Version
Definition: ketypes.h:1146
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::@348 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::@4594 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::@4591::@4592 ProcessorCore
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION::@4591::@4593 NumaNode
_ANONYMOUS_UNION union _SYSTEM_LOGICAL_PROCESSOR_INFORMATION::@4591 DUMMYUNIONNAME
_In_opt_ PTIMER_APC_ROUTINE TimerApcRoutine
Definition: ketypes.h:1199
_In_opt_ struct _COUNTED_REASON_CONTEXT * WakeContext
Definition: ketypes.h:1201
_Out_opt_ PBOOLEAN PreviousState
Definition: ketypes.h:1204
_In_ LARGE_INTEGER DueTime
Definition: ketypes.h:1198
XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]
Definition: ketypes.h:1386
ULONG64 EnabledSupervisorFeatures
Definition: ketypes.h:1388
ULONG64 EnabledVolatileFeatures
Definition: ketypes.h:1373
ULONG64 EnabledFeatures
Definition: ketypes.h:1371
ULONG64 EnabledUserVisibleSupervisorFeatures
Definition: ketypes.h:1394
ULONG ExtendedFeatureDisable
Definition: ketypes.h:1383
ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES]
Definition: ketypes.h:1391
ULONG AllNonLargeFeatureSize
Definition: ketypes.h:1398
ULONG64 ExtendedFeatureDisableFeatures
Definition: ketypes.h:1397
ULONG64 AlignedFeatures
Definition: ketypes.h:1389
_Field_size_bytes_opt_(Length) PXSAVE_AREA Area
ULONG Reserved1
Definition: ketypes.h:1051
ULONG64 Mask
Definition: ketypes.h:1049
#define MODE
Definition: telnetd.h:42
#define OPTIONAL
Definition: typedefs.h:41
int64_t LONG64
Definition: typedefs.h:68
unsigned char UCHAR
Definition: typedefs.h:53
#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
uint64_t ULONGLONG
Definition: typedefs.h:67
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
#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
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 _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:653
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:1712
struct _CONTEXT_CHUNK * PCONTEXT_CHUNK
PROCESSOR_CALLBACK_FUNCTION * PPROCESSOR_CALLBACK_FUNCTION
Definition: ketypes.h:426
* PXSAVE_AREA
Definition: ketypes.h:1046
_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:1046
struct _KGATE * PKGATE
_KDPC_IMPORTANCE
Definition: ketypes.h:760
@ HighImportance
Definition: ketypes.h:763
@ MediumHighImportance
Definition: ketypes.h:764
@ LowImportance
Definition: ketypes.h:761
@ MediumImportance
Definition: ketypes.h:762
struct _KDEVICE_QUEUE_ENTRY * PKDEVICE_QUEUE_ENTRY
@ Latched
Definition: ketypes.h:557
@ LevelSensitive
Definition: ketypes.h:556
_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:1278
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:1727
* PSYSTEM_CPU_SET_INFORMATION
Definition: ketypes.h:168
XSAVE_FORMAT
Definition: ketypes.h:1034
struct _KQUEUE * PKQUEUE
struct _KDPC PRKDPC
* PARM64_NT_CONTEXT
Definition: ketypes.h:1278
struct _KBUGCHECK_CALLBACK_RECORD * PKBUGCHECK_CALLBACK_RECORD
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:567
struct _NT_TIB NT_TIB
struct _KBUGCHECK_SECONDARY_DUMP_DATA KBUGCHECK_SECONDARY_DUMP_DATA
M128A
Definition: ketypes.h:1008
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:1035
enum _KBUGCHECK_DUMP_IO_TYPE KBUGCHECK_DUMP_IO_TYPE
_POOL_TYPE
Definition: ketypes.h:945
@ NonPagedPoolBaseCacheAlignedMustS
Definition: ketypes.h:958
@ NonPagedPoolSession
Definition: ketypes.h:960
@ NonPagedPoolCacheAlignedSession
Definition: ketypes.h:964
@ NonPagedPoolBaseMustSucceed
Definition: ketypes.h:956
@ PagedPoolCacheAligned
Definition: ketypes.h:951
@ NonPagedPoolCacheAligned
Definition: ketypes.h:950
@ PagedPoolSession
Definition: ketypes.h:961
@ DontUseThisTypeSession
Definition: ketypes.h:963
@ NonPagedPoolBase
Definition: ketypes.h:955
@ NonPagedPoolCacheAlignedMustS
Definition: ketypes.h:952
@ MaxPoolType
Definition: ketypes.h:953
@ NonPagedPool
Definition: ketypes.h:946
@ NonPagedPoolBaseCacheAligned
Definition: ketypes.h:957
@ PagedPoolCacheAlignedSession
Definition: ketypes.h:965
@ NonPagedPoolCacheAlignedMustSSession
Definition: ketypes.h:966
@ DontUseThisType
Definition: ketypes.h:949
@ NonPagedPoolMustSucceed
Definition: ketypes.h:948
@ PagedPool
Definition: ketypes.h:947
@ NonPagedPoolMustSucceedSession
Definition: ketypes.h:962
_KWAIT_REASON
Definition: ketypes.h:466
@ WrLpcReply
Definition: ketypes.h:484
@ WrGuardedMutex
Definition: ketypes.h:502
@ WrIoRing
Definition: ketypes.h:512
@ WrPageIn
Definition: ketypes.h:476
@ WrPoolAllocation
Definition: ketypes.h:477
@ Suspended
Definition: ketypes.h:472
@ WrRcu
Definition: ketypes.h:518
@ WrPageOut
Definition: ketypes.h:486
@ PageIn
Definition: ketypes.h:469
@ WrDeferredPreempt
Definition: ketypes.h:506
@ 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
@ WrPhysicalFault
Definition: ketypes.h:509
@ 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
@ WrAlertByThreadId
Definition: ketypes.h:505
@ MaximumWaitReason
Definition: ketypes.h:520
@ 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
@ WrMdlCache
Definition: ketypes.h:515
_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:1035
struct _CONTEXT_EX CONTEXT_EX
* PM128A
Definition: ketypes.h:1008
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
KSERVICE_ROUTINE * PKSERVICE_ROUTINE
Definition: ketypes.h:580
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:1041
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:930
@ IoReadAccess
Definition: ketypes.h:931
@ IoWriteAccess
Definition: ketypes.h:932
@ IoModifyAccess
Definition: ketypes.h:933
EXCEPTION_REGISTRATION_RECORD
Definition: ketypes.h:1137
enum _PROCESSOR_CACHE_TYPE PROCESSOR_CACHE_TYPE
#define MAXIMUM_XSTATE_FEATURES
Definition: ketypes.h:1362
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:756
* PARM64_NT_NEON128
Definition: ketypes.h:1222
ARM64_NT_NEON128
Definition: ketypes.h:1222
KSYNCHRONIZE_ROUTINE * PKSYNCHRONIZE_ROUTINE
Definition: ketypes.h:943
* PEXCEPTION_REGISTRATION_RECORD
Definition: ketypes.h:1137
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:589
KBUGCHECK_CALLBACK_ROUTINE * PKBUGCHECK_CALLBACK_ROUTINE
Definition: ketypes.h:384
struct _DISPATCHER_HEADER * PDISPATCHER_HEADER
ULONG_PTR KSPIN_LOCK
Definition: ketypes.h:687
KUSER_SHARED_DATA
Definition: ketypes.h:1709
* PXSAVE_AREA_HEADER
Definition: ketypes.h:1041
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:805
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:1338
_TIMER_SET_INFORMATION_CLASS
Definition: ketypes.h:1191
@ MaxTimerInfoClass
Definition: ketypes.h:1193
@ TimerSetCoalescableTimer
Definition: ketypes.h:1192
_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:806
* PKAPC_STATE
Definition: ketypes.h:1727
struct _KAPC KAPC
struct _CONTEXT_CHUNK CONTEXT_CHUNK
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:755
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:687
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:656
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:685
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:725
@ LockQueueNtfsStructLock
Definition: ketypes.h:738
@ LockQueueExpansionLock
Definition: ketypes.h:727
@ LockQueueTimerTableLock
Definition: ketypes.h:743
@ LockQueueWorkQueueLock
Definition: ketypes.h:734
@ LockQueueUnusedSpare16
Definition: ketypes.h:742
@ LockQueueNonPagedPoolLock
Definition: ketypes.h:732
@ LockQueueSystemSpaceLock
Definition: ketypes.h:729
@ LockQueueMasterLock
Definition: ketypes.h:731
@ LockQueueDispatcherLock
Definition: ketypes.h:726
@ LockQueueIoCancelLock
Definition: ketypes.h:733
@ LockQueuePfnLock
Definition: ketypes.h:728
@ LockQueueIoDatabaseLock
Definition: ketypes.h:736
@ LockQueueMmNonPagedPoolLock
Definition: ketypes.h:741
@ LockQueueBcbLock
Definition: ketypes.h:740
@ LockQueueIoVpbLock
Definition: ketypes.h:735
@ LockQueueMaximumLock
Definition: ketypes.h:744
@ LockQueueIoCompletionLock
Definition: ketypes.h:737
@ LockQueueAfdWorkQueueLock
Definition: ketypes.h:739
@ LockQueueVacbLock
Definition: ketypes.h:730
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:588
struct _KQUEUE PRKQUEUE
VOID(NTAPI * PKINTERRUPT_ROUTINE)(VOID)
Definition: ketypes.h:570
struct _NT_TIB32 * PNT_TIB32
enum _LOGICAL_PROCESSOR_RELATIONSHIP LOGICAL_PROCESSOR_RELATIONSHIP
* PKUSER_SHARED_DATA
Definition: ketypes.h:1709
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:757
KAPC_STATE
Definition: ketypes.h:1727
_In_ PVOID ServiceContext
Definition: ketypes.h:579
$endif(_WDMDDK_) $if(_WDMDDK_||_WINNT_) typedef struct _PROCESSOR_GROUP_INFO
Definition: ketypes.h:33
EXPAND_STACK_CALLOUT * PEXPAND_STACK_CALLOUT
Definition: ketypes.h:1183
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION * PSYSTEM_LOGICAL_PROCESSOR_INFORMATION
struct _KMUTANT KMUTEX
_KD_OPTION
Definition: ketypes.h:591
@ KD_OPTION_SET_BLOCK_ENABLE
Definition: ketypes.h:592
* PXSAVE_FORMAT
Definition: ketypes.h:1034
#define MINIMAL_XSTATE_AREA_LENGTH
struct _KBUGCHECK_SECONDARY_DUMP_DATA * PKBUGCHECK_SECONDARY_DUMP_DATA
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:758
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:1186
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
_In_ PLARGE_INTEGER _In_opt_ PTIMER_APC_ROUTINE _In_opt_ PVOID TimerContext
Definition: zwfuncs.h:430