ReactOS 0.4.16-dev-282-g4d0a26d
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
87 RelationAll = 0xffff
89
96
100 _ANONYMOUS_UNION union {
101 struct {
104 struct {
111
115 _ANONYMOUS_UNION union {
122
123/* Processor features */
124#define PF_FLOATING_POINT_PRECISION_ERRATA 0
125#define PF_FLOATING_POINT_EMULATED 1
126#define PF_COMPARE_EXCHANGE_DOUBLE 2
127#define PF_MMX_INSTRUCTIONS_AVAILABLE 3
128#define PF_PPC_MOVEMEM_64BIT_OK 4
129#define PF_ALPHA_BYTE_INSTRUCTIONS 5
130#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6
131#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 7
132#define PF_RDTSC_INSTRUCTION_AVAILABLE 8
133#define PF_PAE_ENABLED 9
134#define PF_XMMI64_INSTRUCTIONS_AVAILABLE 10
135#define PF_SSE_DAZ_MODE_AVAILABLE 11
136#define PF_NX_ENABLED 12
137#define PF_SSE3_INSTRUCTIONS_AVAILABLE 13
138#define PF_COMPARE_EXCHANGE128 14
139#define PF_COMPARE64_EXCHANGE128 15
140#define PF_CHANNELS_ENABLED 16
141#define PF_XSAVE_ENABLED 17
142#define PF_ARM_VFP_32_REGISTERS_AVAILABLE 18
143#define PF_ARM_NEON_INSTRUCTIONS_AVAILABLE 19
144#define PF_SECOND_LEVEL_ADDRESS_TRANSLATION 20
145#define PF_VIRT_FIRMWARE_ENABLED 21
146#define PF_RDWRFSGSBASE_AVAILABLE 22
147#define PF_FASTFAIL_AVAILABLE 23
148#define PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE 24
149#define PF_ARM_64BIT_LOADSTORE_ATOMIC 25
150#define PF_ARM_EXTERNAL_CACHE_AVAILABLE 26
151#define PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE 27
152#define PF_RDRAND_INSTRUCTION_AVAILABLE 28
153#define PF_ARM_V8_INSTRUCTIONS_AVAILABLE 29
154#define PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE 30
155#define PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE 31
156#define PF_RDTSCP_INSTRUCTION_AVAILABLE 32
157#define PF_RDPID_INSTRUCTION_AVAILABLE 33
158#define PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE 34
159#define PF_SSSE3_INSTRUCTIONS_AVAILABLE 36
160#define PF_SSE4_1_INSTRUCTIONS_AVAILABLE 37
161#define PF_SSE4_2_INSTRUCTIONS_AVAILABLE 38
162#define PF_AVX_INSTRUCTIONS_AVAILABLE 39
163#define PF_AVX2_INSTRUCTIONS_AVAILABLE 40
164#define PF_AVX512F_INSTRUCTIONS_AVAILABLE 41
165#define PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE 43
166#define PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE 44
167#define PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE 45
168
171
172#define MAXIMUM_WAIT_OBJECTS 64
173
174#define ASSERT_APC(Object) \
175 NT_ASSERT((Object)->Type == ApcObject)
176
177#define ASSERT_DPC(Object) \
178 NT_ASSERT(((Object)->Type == 0) || \
179 ((Object)->Type == DpcObject) || \
180 ((Object)->Type == ThreadedDpcObject))
181
182#define ASSERT_GATE(Object) \
183 NT_ASSERT((((Object)->Header.Type & KOBJECT_TYPE_MASK) == GateObject) || \
184 (((Object)->Header.Type & KOBJECT_TYPE_MASK) == EventSynchronizationObject))
185
186#define ASSERT_DEVICE_QUEUE(Object) \
187 NT_ASSERT((Object)->Type == DeviceQueueObject)
188
189#define ASSERT_TIMER(Object) \
190 NT_ASSERT(((Object)->Header.Type == TimerNotificationObject) || \
191 ((Object)->Header.Type == TimerSynchronizationObject))
192
193#define ASSERT_MUTANT(Object) \
194 NT_ASSERT((Object)->Header.Type == MutantObject)
195
196#define ASSERT_SEMAPHORE(Object) \
197 NT_ASSERT((Object)->Header.Type == SemaphoreObject)
198
199#define ASSERT_EVENT(Object) \
200 NT_ASSERT(((Object)->Header.Type == NotificationEvent) || \
201 ((Object)->Header.Type == SynchronizationEvent))
202
203#define DPC_NORMAL 0
204#define DPC_THREADED 1
205
206#define GM_LOCK_BIT 0x1
207#define GM_LOCK_BIT_V 0x0
208#define GM_LOCK_WAITER_WOKEN 0x2
209#define GM_LOCK_WAITER_INC 0x4
210
211#define LOCK_QUEUE_WAIT_BIT 0
212#define LOCK_QUEUE_OWNER_BIT 1
213
214#define LOCK_QUEUE_WAIT 1
215#define LOCK_QUEUE_OWNER 2
216#define LOCK_QUEUE_TIMER_LOCK_SHIFT 4
217#define LOCK_QUEUE_TIMER_TABLE_LOCKS (1 << (8 - LOCK_QUEUE_TIMER_LOCK_SHIFT))
218
219#define PROCESSOR_FEATURE_MAX 64
220
221#define DBG_STATUS_CONTROL_C 1
222#define DBG_STATUS_SYSRQ 2
223#define DBG_STATUS_BUGCHECK_FIRST 3
224#define DBG_STATUS_BUGCHECK_SECOND 4
225#define DBG_STATUS_FATAL 5
226#define DBG_STATUS_DEBUG_CONTROL 6
227#define DBG_STATUS_WORKER 7
228
229#if defined(_WIN64)
230#define MAXIMUM_PROC_PER_GROUP 64
231#else
232#define MAXIMUM_PROC_PER_GROUP 32
233#endif
234#define MAXIMUM_PROCESSORS MAXIMUM_PROC_PER_GROUP
235
236#define EXCEPTION_DIVIDED_BY_ZERO 0
237#define EXCEPTION_DEBUG 1
238#define EXCEPTION_NMI 2
239#define EXCEPTION_INT3 3
240#define EXCEPTION_BOUND_CHECK 5
241#define EXCEPTION_INVALID_OPCODE 6
242#define EXCEPTION_NPX_NOT_AVAILABLE 7
243#define EXCEPTION_DOUBLE_FAULT 8
244#define EXCEPTION_NPX_OVERRUN 9
245#define EXCEPTION_INVALID_TSS 0x0A
246#define EXCEPTION_SEGMENT_NOT_PRESENT 0x0B
247#define EXCEPTION_STACK_FAULT 0x0C
248#define EXCEPTION_GP_FAULT 0x0D
249#define EXCEPTION_RESERVED_TRAP 0x0F
250#define EXCEPTION_NPX_ERROR 0x010
251#define EXCEPTION_ALIGNMENT_CHECK 0x011
252
253typedef enum _KBUGCHECK_CALLBACK_REASON {
254 KbCallbackInvalid,
255 KbCallbackReserved1,
256 KbCallbackSecondaryDumpData,
257 KbCallbackDumpIo,
258 KbCallbackAddPages
260
262
263_Function_class_(KBUGCHECK_REASON_CALLBACK_ROUTINE)
265typedef VOID
266(NTAPI KBUGCHECK_REASON_CALLBACK_ROUTINE)(
271typedef KBUGCHECK_REASON_CALLBACK_ROUTINE *PKBUGCHECK_REASON_CALLBACK_ROUTINE;
272
273typedef struct _KBUGCHECK_ADD_PAGES {
280
289
297
298typedef struct _KBUGCHECK_DUMP_IO {
304
305#define KB_ADD_PAGES_FLAG_VIRTUAL_ADDRESS 0x00000001UL
306#define KB_ADD_PAGES_FLAG_PHYSICAL_ADDRESS 0x00000002UL
307#define KB_ADD_PAGES_FLAG_ADDITIONAL_RANGES_EXIST 0x80000000UL
308
317
325
326_Function_class_(KBUGCHECK_CALLBACK_ROUTINE)
328typedef VOID
329(NTAPI KBUGCHECK_CALLBACK_ROUTINE)(
332typedef KBUGCHECK_CALLBACK_ROUTINE *PKBUGCHECK_CALLBACK_ROUTINE;
333
343
344_Function_class_(NMI_CALLBACK)
346typedef BOOLEAN
347(NTAPI NMI_CALLBACK)(
350typedef NMI_CALLBACK *PNMI_CALLBACK;
351
357
362#if (NTDDI_VERSION >= NTDDI_WIN7)
364#endif
366
368_Function_class_(PROCESSOR_CALLBACK_FUNCTION)
369typedef VOID
370(NTAPI PROCESSOR_CALLBACK_FUNCTION)(
374typedef PROCESSOR_CALLBACK_FUNCTION *PPROCESSOR_CALLBACK_FUNCTION;
375
376#define KE_PROCESSOR_CHANGE_ADD_EXISTING 1
377
378#define INVALID_PROCESSOR_INDEX 0xffffffff
379
385
386typedef enum _KPROFILE_SOURCE {
413
414typedef enum _KWAIT_REASON {
454
455typedef struct _KWAIT_BLOCK {
457#if (NTDDI_VERSION >= NTDDI_WIN8)
461#ifdef _WIN64
462 LONG SpareLong;
463#endif
464 union {
467 };
470#else
471 struct _KTHREAD *Thread;
473 struct _KWAIT_BLOCK *NextWaitBlock;
476#if (NTDDI_VERSION >= NTDDI_WIN7)
477 volatile UCHAR BlockState;
478#else
479 UCHAR SpareByte;
480#endif
481#if defined(_WIN64)
482 LONG SpareLong;
483#endif
484#endif
486
487typedef enum _KINTERRUPT_MODE {
489 Latched
491
492#define THREAD_WAIT_OBJECTS 3
493
495_Function_class_(KSTART_ROUTINE)
496typedef VOID
497(NTAPI KSTART_ROUTINE)(
498 _In_ PVOID StartContext);
499typedef KSTART_ROUTINE *PKSTART_ROUTINE;
500
501typedef VOID
503 VOID);
504
505_Function_class_(KSERVICE_ROUTINE)
508typedef BOOLEAN
509(NTAPI KSERVICE_ROUTINE)(
510 _In_ struct _KINTERRUPT *Interrupt,
512typedef KSERVICE_ROUTINE *PKSERVICE_ROUTINE;
513
514_Function_class_(KMESSAGE_SERVICE_ROUTINE)
516typedef BOOLEAN
517(NTAPI KMESSAGE_SERVICE_ROUTINE)(
518 _In_ struct _KINTERRUPT *Interrupt,
521typedef KMESSAGE_SERVICE_ROUTINE *PKMESSAGE_SERVICE_ROUTINE;
522
523typedef enum _KD_OPTION {
526
527#ifdef _NTSYSTEM_
528typedef VOID
530 IN PVOID NormalContext OPTIONAL,
533
534typedef VOID
536 IN struct _KAPC *Apc);
537
538typedef VOID
540 IN struct _KAPC *Apc,
541 IN OUT PKNORMAL_ROUTINE *NormalRoutine OPTIONAL,
545#endif
546
547typedef struct _KAPC {
555#ifdef _NTSYSTEM_
556 PKKERNEL_ROUTINE KernelRoutine;
557 PKRUNDOWN_ROUTINE RundownRoutine;
558 PKNORMAL_ROUTINE NormalRoutine;
559#else
561#endif
569
570#define KAPC_OFFSET_TO_SPARE_BYTE0 FIELD_OFFSET(KAPC, SpareByte0)
571#define KAPC_OFFSET_TO_SPARE_BYTE1 FIELD_OFFSET(KAPC, SpareByte1)
572#define KAPC_OFFSET_TO_SPARE_LONG FIELD_OFFSET(KAPC, SpareLong0)
573#define KAPC_OFFSET_TO_SYSTEMARGUMENT1 FIELD_OFFSET(KAPC, SystemArgument1)
574#define KAPC_OFFSET_TO_SYSTEMARGUMENT2 FIELD_OFFSET(KAPC, SystemArgument2)
575#define KAPC_OFFSET_TO_APCSTATEINDEX FIELD_OFFSET(KAPC, ApcStateIndex)
576#define KAPC_ACTUAL_LENGTH (FIELD_OFFSET(KAPC, Inserted) + sizeof(BOOLEAN))
577
578typedef struct _KDEVICE_QUEUE_ENTRY {
584
586
587typedef VOID
589 IN OUT PKIPI_CONTEXT PacketContext,
590 IN PVOID Parameter1 OPTIONAL,
591 IN PVOID Parameter2 OPTIONAL,
592 IN PVOID Parameter3 OPTIONAL);
593
594typedef struct _KIPI_COUNTS {
610
612_Function_class_(KIPI_BROADCAST_WORKER)
614typedef ULONG_PTR
615(NTAPI KIPI_BROADCAST_WORKER)(
616 _In_ ULONG_PTR Argument);
617typedef KIPI_BROADCAST_WORKER *PKIPI_BROADCAST_WORKER;
618
620
621typedef struct _KSPIN_LOCK_QUEUE {
622 struct _KSPIN_LOCK_QUEUE *volatile Next;
625
626typedef struct _KLOCK_QUEUE_HANDLE {
630
631#if defined(_AMD64_)
632
634
635#define LockQueueDispatcherLock 0
636#define LockQueueExpansionLock 1
637#define LockQueuePfnLock 2
638#define LockQueueSystemSpaceLock 3
639#define LockQueueVacbLock 4
640#define LockQueueMasterLock 5
641#define LockQueueNonPagedPoolLock 6
642#define LockQueueIoCancelLock 7
643#define LockQueueWorkQueueLock 8
644#define LockQueueIoVpbLock 9
645#define LockQueueIoDatabaseLock 10
646#define LockQueueIoCompletionLock 11
647#define LockQueueNtfsStructLock 12
648#define LockQueueAfdWorkQueueLock 13
649#define LockQueueBcbLock 14
650#define LockQueueMmNonPagedPoolLock 15
651#define LockQueueUnusedSpare16 16
652#define LockQueueTimerTableLock 17
653#define LockQueueMaximumLock (LockQueueTimerTableLock + LOCK_QUEUE_TIMER_TABLE_LOCKS)
654
655#else
656
678
679#endif /* defined(_AMD64_) */
680
681_Function_class_(KDEFERRED_ROUTINE)
684typedef VOID
685(NTAPI KDEFERRED_ROUTINE)(
686 _In_ struct _KDPC *Dpc,
690typedef KDEFERRED_ROUTINE *PKDEFERRED_ROUTINE;
691
692typedef enum _KDPC_IMPORTANCE {
698
699typedef struct _KDPC {
702 volatile USHORT Number;
708 volatile PVOID DpcData;
710
718
719typedef struct _KDEVICE_QUEUE {
724# if defined(_AMD64_)
725 _ANONYMOUS_UNION union {
727 _ANONYMOUS_STRUCT struct {
729 LONG64 Hint:56;
732# else
734# endif
736
737#define TIMER_EXPIRED_INDEX_BITS 6
738#define TIMER_PROCESSOR_INDEX_BITS 5
739
740typedef struct _DISPATCHER_HEADER {
741 _ANONYMOUS_UNION union {
742 _ANONYMOUS_STRUCT struct {
744 _ANONYMOUS_UNION union {
745 _ANONYMOUS_UNION union {
747 _ANONYMOUS_STRUCT struct {
755#if (NTDDI_VERSION < NTDDI_WIN7)
756 UCHAR NpxIrql;
757#endif
760 _ANONYMOUS_UNION union {
761 _ANONYMOUS_UNION union {
763 _ANONYMOUS_STRUCT struct {
773 _ANONYMOUS_UNION union {
774#if (NTDDI_VERSION >= NTDDI_WIN7)
775 _ANONYMOUS_UNION union {
777 _ANONYMOUS_STRUCT struct {
778#if !defined(_X86_)
780#else
781 UCHAR Index:1;
783#endif
785 volatile UCHAR Expired:1;
788#else
789 /* Pre Win7 compatibility fix to latest WDK */
791#endif
792 _ANONYMOUS_UNION union {
794 _ANONYMOUS_STRUCT struct {
801 } DUMMYUNIONNAME; /* should probably be DUMMYUNIONNAME2, but this is what WDK says */
805 volatile LONG Lock;
810
811typedef struct _KEVENT {
814
815typedef struct _KSEMAPHORE {
819
820#define KSEMAPHORE_ACTUAL_LENGTH (FIELD_OFFSET(KSEMAPHORE, Limit) + sizeof(LONG))
821
822typedef struct _KGATE {
825
826typedef struct _KGUARDED_MUTEX {
827 volatile LONG Count;
831 _ANONYMOUS_UNION union {
832 _ANONYMOUS_STRUCT struct {
839
840typedef struct _KMUTANT {
847
848#define TIMER_TABLE_SIZE 512
849#define TIMER_TABLE_SHIFT 9
850
851typedef struct _KTIMER {
855 struct _KDPC *Dpc;
856#if (NTDDI_VERSION >= NTDDI_WIN7) && !defined(_X86_)
858#endif
861
862typedef enum _LOCK_OPERATION {
867
868#define KTIMER_ACTUAL_LENGTH (FIELD_OFFSET(KTIMER, Period) + sizeof(LONG))
869
870_Function_class_(KSYNCHRONIZE_ROUTINE)
872typedef BOOLEAN
873(NTAPI KSYNCHRONIZE_ROUTINE)(
875typedef KSYNCHRONIZE_ROUTINE *PKSYNCHRONIZE_ROUTINE;
876
877typedef enum _POOL_TYPE {
886
891
900
906
907/* Correctly define these run-time definitions for non X86 machines */
908#ifndef _X86_
909
910#ifndef IsNEC_98
911#define IsNEC_98 (FALSE)
912#endif
913
914#ifndef IsNotNEC_98
915#define IsNotNEC_98 (TRUE)
916#endif
917
918#ifndef SetNEC_98
919#define SetNEC_98
920#endif
921
922#ifndef SetNotNEC_98
923#define SetNotNEC_98
924#endif
925
926#endif
927
928typedef struct _KSYSTEM_TIME {
933
934typedef struct DECLSPEC_ALIGN(16) _M128A {
938
939typedef struct DECLSPEC_ALIGN(16) _XSAVE_FORMAT {
940 USHORT ControlWord;
941 USHORT StatusWord;
942 UCHAR TagWord;
944 USHORT ErrorOpcode;
945 ULONG ErrorOffset;
946 USHORT ErrorSelector;
948 ULONG DataOffset;
949 USHORT DataSelector;
951 ULONG MxCsr;
952 ULONG MxCsr_Mask;
953 M128A FloatRegisters[8];
954#if defined(_WIN64)
955 M128A XmmRegisters[16];
956 UCHAR Reserved4[96];
957#else
958 M128A XmmRegisters[8];
959 UCHAR Reserved4[192];
960 ULONG StackControl[7];
961 ULONG Cr0NpxState;
962#endif
964
965typedef struct DECLSPEC_ALIGN(8) _XSAVE_AREA_HEADER {
967 ULONG64 Reserved[7];
969
970typedef struct DECLSPEC_ALIGN(16) _XSAVE_AREA {
971 XSAVE_FORMAT LegacyState;
974
975typedef struct _XSTATE_CONTEXT {
980#if defined(_X86_)
982#endif
984#if defined(_X86_)
986#endif
988
989typedef struct _XSTATE_SAVE {
990#if defined(_AMD64_)
991 struct _XSTATE_SAVE* Prev;
992 struct _KTHREAD* Thread;
993 UCHAR Level;
994 XSTATE_CONTEXT XStateContext;
995#elif defined(_IA64_) || defined(_ARM_) || defined(_ARM64_)
996 ULONG Dummy;
997#elif defined(_X86_)
998 _ANONYMOUS_UNION union {
999 _ANONYMOUS_STRUCT struct {
1002 struct _XSTATE_SAVE* Prev;
1004 struct _KTHREAD* Thread;
1006 UCHAR Level;
1008 XSTATE_CONTEXT XStateContext;
1010#endif
1012
1013#ifdef _X86_
1014
1015#define MAXIMUM_SUPPORTED_EXTENSION 512
1016
1017#if !defined(__midl) && !defined(MIDL_PASS)
1019#endif
1020
1021#endif /* _X86_ */
1022
1023#define XSAVE_ALIGN 64
1024#define MINIMAL_XSTATE_AREA_LENGTH sizeof(XSAVE_AREA)
1025
1026#if !defined(__midl) && !defined(MIDL_PASS)
1027C_ASSERT((sizeof(XSAVE_FORMAT) & (XSAVE_ALIGN - 1)) == 0);
1030#endif
1031
1032typedef struct _CONTEXT_CHUNK {
1036
1037typedef struct _CONTEXT_EX {
1042
1043#define CONTEXT_EX_LENGTH ALIGN_UP_BY(sizeof(CONTEXT_EX), STACK_ALIGN)
1044
1045#if (NTDDI_VERSION >= NTDDI_VISTA)
1046extern NTSYSAPI volatile CCHAR KeNumberProcessors;
1047#elif (NTDDI_VERSION >= NTDDI_WINXP)
1049#else
1051extern PCCHAR KeNumberProcessors;
1052#endif
1053
1055$if (_NTDDK_)
1056
1057typedef struct _EXCEPTION_REGISTRATION_RECORD
1058{
1062
1063typedef struct _NT_TIB {
1068 _ANONYMOUS_UNION union {
1073 struct _NT_TIB *Self;
1075
1076typedef struct _NT_TIB32 {
1081 _ANONYMOUS_UNION union {
1088
1089typedef struct _NT_TIB64 {
1094 _ANONYMOUS_UNION union {
1101
1103_Function_class_(EXPAND_STACK_CALLOUT)
1104typedef VOID
1105(NTAPI EXPAND_STACK_CALLOUT)(
1107typedef EXPAND_STACK_CALLOUT *PEXPAND_STACK_CALLOUT;
1108
1109typedef VOID
1112 _In_ ULONG TimerLowValue,
1113 _In_ LONG TimerHighValue);
1114
1119
1120#if (NTDDI_VERSION >= NTDDI_WIN7)
1130#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
1131
1132#define XSTATE_LEGACY_FLOATING_POINT 0
1133#define XSTATE_LEGACY_SSE 1
1134#define XSTATE_GSSE 2
1135#define XSTATE_AVX XSTATE_GSSE
1136#define XSTATE_MPX_BNDREGS 3
1137#define XSTATE_MPX_BNDCSR 4
1138#define XSTATE_AVX512_KMASK 5
1139#define XSTATE_AVX512_ZMM_H 6
1140#define XSTATE_AVX512_ZMM 7
1141#define XSTATE_IPT 8
1142#define XSTATE_PASID 10
1143#define XSTATE_CET_U 11
1144#define XSTATE_CET_S 12
1145#define XSTATE_AMX_TILE_CONFIG 17
1146#define XSTATE_AMX_TILE_DATA 18
1147#define XSTATE_LWP 62
1148#define MAXIMUM_XSTATE_FEATURES 64
1149
1150#define XSTATE_MASK_LEGACY_FLOATING_POINT (1LL << (XSTATE_LEGACY_FLOATING_POINT))
1151#define XSTATE_MASK_LEGACY_SSE (1LL << (XSTATE_LEGACY_SSE))
1152#define XSTATE_MASK_LEGACY (XSTATE_MASK_LEGACY_FLOATING_POINT | XSTATE_MASK_LEGACY_SSE)
1153#define XSTATE_MASK_GSSE (1LL << (XSTATE_GSSE))
1154#define XSTATE_MASK_AVX XSTATE_MASK_GSSE
1155#define XSTATE_MASK_MPX ((1LL << (XSTATE_MPX_BNDREGS)) | (1LL << (XSTATE_MPX_BNDCSR)))
1156#define XSTATE_MASK_AVX512 ((1LL << (XSTATE_AVX512_KMASK)) | (1LL << (XSTATE_AVX512_ZMM_H)) | (1LL << (XSTATE_AVX512_ZMM)))
1157#define XSTATE_MASK_IPT (1LL << (XSTATE_IPT))
1158#define XSTATE_MASK_PASID (1LL << (XSTATE_PASID))
1159#define XSTATE_MASK_CET_U (1LL << (XSTATE_CET_U))
1160#define XSTATE_MASK_CET_S (1LL << (XSTATE_CET_S))
1161#define XSTATE_MASK_AMX_TILE_CONFIG (1LL << (XSTATE_AMX_TILE_CONFIG))
1162#define XSTATE_MASK_AMX_TILE_DATA (1LL << (XSTATE_AMX_TILE_DATA))
1163#define XSTATE_MASK_LWP (1LL << (XSTATE_LWP))
1164
1165#if defined(_AMD64_)
1166#define XSTATE_MASK_ALLOWED \
1167 (XSTATE_MASK_LEGACY | \
1168 XSTATE_MASK_AVX | \
1169 XSTATE_MASK_MPX | \
1170 XSTATE_MASK_AVX512 | \
1171 XSTATE_MASK_IPT | \
1172 XSTATE_MASK_PASID | \
1173 XSTATE_MASK_CET_U | \
1174 XSTATE_MASK_AMX_TILE_CONFIG | \
1175 XSTATE_MASK_AMX_TILE_DATA | \
1176 XSTATE_MASK_LWP)
1177#elif defined(_X86_)
1178#define XSTATE_MASK_ALLOWED \
1179 (XSTATE_MASK_LEGACY | \
1180 XSTATE_MASK_AVX | \
1181 XSTATE_MASK_MPX | \
1182 XSTATE_MASK_AVX512 | \
1183 XSTATE_MASK_IPT | \
1184 XSTATE_MASK_CET_U | \
1185 XSTATE_MASK_LWP)
1186#endif
1187
1188#define XSTATE_MASK_PERSISTENT ((1LL << (XSTATE_MPX_BNDCSR)) | XSTATE_MASK_LWP)
1189#define XSTATE_MASK_USER_VISIBLE_SUPERVISOR (XSTATE_MASK_CET_U)
1190#define XSTATE_MASK_LARGE_FEATURES (XSTATE_MASK_AMX_TILE_DATA)
1191
1192#if defined(_X86_)
1193#if !defined(__midl) && !defined(MIDL_PASS)
1194C_ASSERT((XSTATE_MASK_ALLOWED & XSTATE_MASK_LARGE_FEATURES) == 0);
1195#endif
1196#endif
1197
1198#define XSTATE_COMPACTION_ENABLE 63
1199#define XSTATE_COMPACTION_ENABLE_MASK (1LL << (XSTATE_COMPACTION_ENABLE))
1200#define XSTATE_ALIGN_BIT 1
1201#define XSTATE_ALIGN_MASK (1LL << (XSTATE_ALIGN_BIT))
1202
1203#define XSTATE_XFD_BIT 2
1204#define XSTATE_XFD_MASK (1LL << (XSTATE_XFD_BIT))
1205
1206#define XSTATE_CONTROLFLAG_XSAVEOPT_MASK 1
1207#define XSTATE_CONTROLFLAG_XSAVEC_MASK 2
1208#define XSTATE_CONTROLFLAG_XFD_MASK 4
1209#define XSTATE_CONTROLFLAG_VALID_MASK \
1210 (XSTATE_CONTROLFLAG_XSAVEOPT_MASK | \
1211 XSTATE_CONTROLFLAG_XSAVEC_MASK | \
1212 XSTATE_CONTROLFLAG_XFD_MASK)
1213
1214#define MAXIMUM_XSTATE_FEATURES 64
1215
1216typedef struct _XSTATE_FEATURE {
1220
1222{
1224#if (NTDDI_VERSION >= NTDDI_WINBLUE)
1226#endif
1228 union
1229 {
1231 struct
1232 {
1235 };
1236 };
1238#if (NTDDI_VERSION >= NTDDI_WIN10)
1243#endif
1244#if (NTDDI_VERSION >= NTDDI_WIN10_RS5)
1246#endif
1247#if (NTDDI_VERSION >= NTDDI_WIN11)
1251#endif
1253
1254#define MAX_WOW64_SHARED_ENTRIES 16
1255
1256//
1257// Flags for NXSupportPolicy
1258//
1259#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
1260#define NX_SUPPORT_POLICY_ALWAYSOFF 0
1261#define NX_SUPPORT_POLICY_ALWAYSON 1
1262#define NX_SUPPORT_POLICY_OPTIN 2
1263#define NX_SUPPORT_POLICY_OPTOUT 3
1264#endif
1265
1266//
1267// Shared Kernel User Data
1268// Keep in sync with sdk/include/ndk/ketypes.h
1269//
1271{
1275 volatile KSYSTEM_TIME SystemTime; // 0x14
1276 volatile KSYSTEM_TIME TimeZoneBias; // 0x20
1279 WCHAR NtSystemRoot[260]; // 0x30
1284 ULONG Reserved2[7]; // 0x248
1292 volatile ULONG TimeSlip; // 0x2bc
1298#if (NTDDI_VERSION >= NTDDI_WINXPSP2)
1300#endif
1301 volatile ULONG ActiveConsoleId; // 0x2d8
1302 volatile ULONG DismountCount; // 0x2dc
1307#if (NTDDI_VERSION >= NTDDI_WIN7)
1308 union
1309 {
1311 struct
1312 {
1315 UCHAR TscQpcShift:6; // 0x2ed
1318 UCHAR TscQpcPad[2]; // 0x2ee
1319#endif
1320#if (NTDDI_VERSION >= NTDDI_VISTA)
1321 union
1322 {
1324 struct
1325 {
1333 ULONG SpareBits:25; // 0x2f0
1336#else
1337 ULONG TraceLogging;
1338#endif
1339 ULONG DataFlagsPad[1]; // 0x2f4
1344 union
1345 {
1346 volatile KSYSTEM_TIME TickCount; // 0x320
1347 volatile ULONG64 TickCountQuad; // 0x320
1348 struct
1349 {
1351 ULONG TickCountPad[1]; // 0x32c
1354 ULONG Cookie; // 0x330
1355#if (NTDDI_VERSION >= NTDDI_VISTA)
1356 ULONG CookiePad[1]; // 0x334
1358#endif
1359#if (NTDDI_VERSION >= NTDDI_WS03)
1361#endif
1362#if (NTDDI_VERSION >= NTDDI_VISTA)
1363#if (NTDDI_VERSION >= NTDDI_WIN7)
1365#else
1366 USHORT UserModeGlobalLogger[8]; // 0x380
1367 ULONG HeapTracingPid[2]; // 0x390
1368 ULONG CritSecTracingPid[2]; // 0x398
1369#endif
1371#if (NTDDI_VERSION >= NTDDI_VISTASP1)
1373#else
1374 /* 4 bytes padding */
1375#endif
1377 volatile ULONG64 InterruptTimeBias; // 0x3b0
1378#endif // NTDDI_VERSION >= NTDDI_VISTA
1379#if (NTDDI_VERSION >= NTDDI_WIN7)
1380 volatile ULONG64 TscQpcBias; // 0x3b8
1381 volatile ULONG ActiveProcessorCount; // 0x3c0
1382 volatile USHORT ActiveGroupCount; // 0x3c4
1384 volatile ULONG AitSamplingValue; // 0x3c8
1385 volatile ULONG AppCompatFlag; // 0x3cc
1388 ULONG XStatePad[1]; // 0x3dc
1390#endif
1392
1393#if (NTDDI_VERSION >= NTDDI_VISTA)
1395#elif (NTDDI_VERSION >= NTDDI_WINXP)
1397#else
1398extern PCCHAR KeNumberProcessors;
1399#endif
1400
1402$if (_NTIFS_)
1403typedef struct _KAPC_STATE {
1404 LIST_ENTRY ApcListHead[MaximumMode];
1406 BOOLEAN KernelApcInProgress;
1407 BOOLEAN KernelApcPending;
1408 BOOLEAN UserApcPending;
1410
1411#define KAPC_STATE_ACTUAL_LENGTH (FIELD_OFFSET(KAPC_STATE, UserApcPending) + sizeof(BOOLEAN))
1412
1413#define ASSERT_QUEUE(Q) ASSERT(((Q)->Header.Type & KOBJECT_TYPE_MASK) == QueueObject);
1414
1415typedef struct _KQUEUE {
1422
1424
unsigned char BOOLEAN
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
@ Reserved2
Definition: bcd.h:202
@ Reserved1
Definition: bcd.h:201
#define NTSYSAPI
Definition: ntoskrnl.h:12
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_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:2018
_KPROFILE_SOURCE
Definition: winternl.h:2122
@ ProfileFpInstructions
Definition: winternl.h:2136
@ ProfileIntegerInstructions
Definition: winternl.h:2137
@ ProfileBranchMispredictions
Definition: winternl.h:2134
@ ProfileMaximum
Definition: winternl.h:2147
@ ProfileStoreInstructions
Definition: winternl.h:2135
@ ProfileAlignmentFixup
Definition: winternl.h:2124
@ ProfilePipelineDry
Definition: winternl.h:2126
@ ProfileMemoryBarrierCycles
Definition: winternl.h:2145
@ Profile3Issue
Definition: winternl.h:2139
@ ProfileLoadLinkedIssues
Definition: winternl.h:2146
@ ProfileDcacheMisses
Definition: winternl.h:2131
@ ProfileIcacheIssues
Definition: winternl.h:2143
@ ProfileIcacheMisses
Definition: winternl.h:2132
@ ProfileTotalNonissues
Definition: winternl.h:2130
@ ProfileTime
Definition: winternl.h:2123
@ ProfileSpecialInstructions
Definition: winternl.h:2141
@ Profile2Issue
Definition: winternl.h:2138
@ ProfileTotalCycles
Definition: winternl.h:2142
@ ProfileBranchInstructions
Definition: winternl.h:2129
@ ProfilePipelineFrozen
Definition: winternl.h:2128
@ ProfileDcacheAccesses
Definition: winternl.h:2144
@ ProfileLoadInstructions
Definition: winternl.h:2127
@ ProfileTotalIssues
Definition: winternl.h:2125
@ Profile4Issue
Definition: winternl.h:2140
@ ProfileCacheMisses
Definition: winternl.h:2133
#define C_ASSERT(e)
Definition: intsafe.h:73
unsigned __int64 ULONG64
Definition: imports.h:198
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
Definition: env.c:47
* PNTSTATUS
Definition: strlen.c:14
#define KernelMode
Definition: asm.h:34
#define UserMode
Definition: asm.h:35
VOID(NTAPI * PKRUNDOWN_ROUTINE)(IN struct _KAPC *Apc)
Definition: ketypes.h:750
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:754
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:744
#define _Out_opt_
Definition: no_sal2.h:214
#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:259
#define DUMMYUNIONNAME
Definition: ntbasedef.h:32
#define DUMMYSTRUCTNAME
Definition: ntbasedef.h:58
PROCESSOR_NUMBER
Definition: ntbasedef.h:650
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
#define _ANONYMOUS_STRUCT
Definition: ntbasedef.h:56
#define _NTDDK_
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
#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
_KINTERRUPT_MODE
Definition: miniport.h:79
@ High
Definition: strmini.h:378
@ Low
Definition: strmini.h:380
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:1034
CONTEXT_CHUNK XState
Definition: ketypes.h:1040
CONTEXT_CHUNK All
Definition: ketypes.h:1038
CONTEXT_CHUNK Legacy
Definition: ketypes.h:1039
UCHAR TimerControlFlags
Definition: ketypes.h:746
_ANONYMOUS_UNION union _DISPATCHER_HEADER::@4108::@4109::@4112 DUMMYUNIONNAME3
_ANONYMOUS_STRUCT struct _DISPATCHER_HEADER::@4108::@4109::@4110::@4113::@4114 DUMMYSTRUCTNAME
volatile UCHAR Expired
Definition: ketypes.h:785
BOOLEAN DpcActive
Definition: ketypes.h:802
UCHAR TimerMiscFlags
Definition: ketypes.h:776
BOOLEAN ActiveDR7
Definition: ketypes.h:795
volatile LONG Lock
Definition: ketypes.h:805
UCHAR KeepShifting
Definition: ketypes.h:750
BOOLEAN DebugActive
Definition: ketypes.h:793
BOOLEAN UmsPrimary
Definition: ketypes.h:799
UCHAR CpuThrottled
Definition: ketypes.h:764
LIST_ENTRY WaitListHead
Definition: ketypes.h:808
UCHAR CycleProfiling
Definition: ketypes.h:765
UCHAR EncodedTolerableDelay
Definition: ketypes.h:751
_ANONYMOUS_UNION union _DISPATCHER_HEADER::@4108::@4109::@4110::@4113 DUMMYUNIONNAME
BOOLEAN Reserved2
Definition: ketypes.h:797
_ANONYMOUS_UNION union _DISPATCHER_HEADER::@4108::@4109::@4111 DUMMYUNIONNAME2
BOOLEAN Instrumented
Definition: ketypes.h:796
UCHAR ThreadControlFlags
Definition: ketypes.h:762
UCHAR CounterProfiling
Definition: ketypes.h:766
BOOLEAN Signalling
Definition: ketypes.h:758
BOOLEAN UmsScheduled
Definition: ketypes.h:798
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:547
UCHAR Size
Definition: ketypes.h:550
PVOID NormalContext
Definition: ketypes.h:562
KPROCESSOR_MODE ApcMode
Definition: ketypes.h:566
struct _KTHREAD * Thread
Definition: ketypes.h:553
BOOLEAN Inserted
Definition: ketypes.h:567
PVOID SystemArgument1
Definition: ketypes.h:563
CCHAR ApcStateIndex
Definition: ketypes.h:565
LIST_ENTRY ApcListEntry
Definition: ketypes.h:554
UCHAR Type
Definition: ketypes.h:548
PVOID SystemArgument2
Definition: ketypes.h:564
UCHAR SpareByte0
Definition: ketypes.h:549
UCHAR SpareByte1
Definition: ketypes.h:551
ULONG SpareLong0
Definition: ketypes.h:552
_Inout_ PVOID Context
Definition: ketypes.h:274
_Out_ ULONG_PTR Address
Definition: ketypes.h:277
_Out_ ULONG_PTR Count
Definition: ketypes.h:278
_In_ ULONG BugCheckCode
Definition: ketypes.h:276
_Inout_ ULONG Flags
Definition: ketypes.h:275
PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine
Definition: ketypes.h:336
_Field_size_bytes_opt_(Length) PVOID Buffer
_In_ ULONG64 Offset
Definition: ketypes.h:299
_In_ ULONG BufferLength
Definition: ketypes.h:301
_In_ KBUGCHECK_DUMP_IO_TYPE Type
Definition: ketypes.h:302
_In_ PVOID Buffer
Definition: ketypes.h:300
KBUGCHECK_CALLBACK_REASON Reason
Definition: ketypes.h:314
PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine
Definition: ketypes.h:311
Definition: ketypes.h:578
LIST_ENTRY DeviceListEntry
Definition: ketypes.h:579
ULONG SortKey
Definition: ketypes.h:580
BOOLEAN Inserted
Definition: ketypes.h:581
BOOLEAN Busy
Definition: ketypes.h:733
LIST_ENTRY DeviceListHead
Definition: ketypes.h:722
KSPIN_LOCK Lock
Definition: ketypes.h:723
CSHORT Type
Definition: ketypes.h:720
CSHORT Size
Definition: ketypes.h:721
Definition: ketypes.h:699
UCHAR Type
Definition: ketypes.h:700
LIST_ENTRY DpcListEntry
Definition: ketypes.h:703
PVOID SystemArgument2
Definition: ketypes.h:707
UCHAR Importance
Definition: ketypes.h:701
PVOID SystemArgument1
Definition: ketypes.h:706
PKDEFERRED_ROUTINE DeferredRoutine
Definition: ketypes.h:704
volatile PVOID DpcData
Definition: ketypes.h:708
volatile USHORT Number
Definition: ketypes.h:702
PVOID DeferredContext
Definition: ketypes.h:705
DISPATCHER_HEADER Header
Definition: ketypes.h:812
KE_PROCESSOR_CHANGE_NOTIFY_STATE State
Definition: ketypes.h:359
DISPATCHER_HEADER Header
Definition: ketypes.h:823
_ANONYMOUS_STRUCT struct _KGUARDED_MUTEX::@4121::@4122 DUMMYSTRUCTNAME
_ANONYMOUS_UNION union _KGUARDED_MUTEX::@4121 DUMMYUNIONNAME
volatile LONG Count
Definition: ketypes.h:827
ULONG Contention
Definition: ketypes.h:829
ULONG CombinedApcDisable
Definition: ketypes.h:836
PKTHREAD Owner
Definition: ketypes.h:828
SHORT KernelApcDisable
Definition: ketypes.h:833
SHORT SpecialApcDisable
Definition: ketypes.h:834
ULONG Freeze
Definition: ketypes.h:595
ULONG FlushSingleTb
Definition: ketypes.h:599
ULONG FlushMultipleTb
Definition: ketypes.h:600
ULONG APC
Definition: ketypes.h:598
ULONG Packet
Definition: ketypes.h:596
ULONG FlushEntireTb
Definition: ketypes.h:601
ULONG FlushIoBuffers
Definition: ketypes.h:607
ULONG SweepIcache
Definition: ketypes.h:605
ULONG SweepIcacheRange
Definition: ketypes.h:606
ULONG GenericCall
Definition: ketypes.h:602
ULONG DPC
Definition: ketypes.h:597
ULONG ChangeColor
Definition: ketypes.h:603
ULONG SweepDcache
Definition: ketypes.h:604
ULONG GratuitousDPC
Definition: ketypes.h:608
KSPIN_LOCK_QUEUE LockQueue
Definition: ketypes.h:627
DISPATCHER_HEADER Header
Definition: ketypes.h:841
LIST_ENTRY MutantListEntry
Definition: ketypes.h:842
BOOLEAN Abandoned
Definition: ketypes.h:844
struct _KTHREAD *RESTRICTED_POINTER OwnerThread
Definition: ketypes.h:843
UCHAR ApcDisable
Definition: ketypes.h:845
LIST_ENTRY EntryListHead
Definition: ketypes.h:1417
ULONG MaximumCount
Definition: ketypes.h:1419
DISPATCHER_HEADER Header
Definition: ketypes.h:1416
LIST_ENTRY ThreadListHead
Definition: ketypes.h:1420
volatile ULONG CurrentCount
Definition: ketypes.h:1418
LONG Limit
Definition: ketypes.h:817
DISPATCHER_HEADER Header
Definition: ketypes.h:816
struct _KSPIN_LOCK_QUEUE *volatile Next
Definition: ketypes.h:622
PKSPIN_LOCK volatile Lock
Definition: ketypes.h:623
LONG High1Time
Definition: ketypes.h:930
LONG High2Time
Definition: ketypes.h:931
ULONG LowPart
Definition: ketypes.h:929
struct _KDPC * Dpc
Definition: ketypes.h:855
ULONG Processor
Definition: ketypes.h:857
ULARGE_INTEGER DueTime
Definition: ketypes.h:853
ULONG Period
Definition: ketypes.h:859
DISPATCHER_HEADER Header
Definition: ketypes.h:852
LIST_ENTRY TimerListEntry
Definition: ketypes.h:854
ULONG LangGenerationCount
Definition: ketypes.h:1372
ULONG CookiePad[1]
Definition: ketypes.h:1356
XSTATE_CONFIGURATION XState
Definition: ketypes.h:1389
BOOLEAN ProductTypeIsValid
Definition: ketypes.h:1286
ULONG DbgSystemDllRelocated
Definition: ketypes.h:1330
ULONG DbgInstallerDetectEnabled
Definition: ketypes.h:1329
volatile KSYSTEM_TIME SystemTime
Definition: ketypes.h:1275
ULONG DbgSEHValidationEnabled
Definition: ketypes.h:1332
ULONG TickCountLowDeprecated
Definition: ketypes.h:1272
NT_PRODUCT_TYPE NtProductType
Definition: ketypes.h:1285
ULONG SystemCallReturn
Definition: ketypes.h:1342
union _KUSER_SHARED_DATA::@4130 DUMMYUNIONNAME
ULONGLONG SystemDllNativeRelocation
Definition: ketypes.h:1386
ULONGLONG TestRetInstruction
Definition: ketypes.h:1340
volatile ULONG64 TscQpcBias
Definition: ketypes.h:1380
volatile ULONG ActiveConsoleId
Definition: ketypes.h:1301
BOOLEAN KdDebuggerEnabled
Definition: ketypes.h:1297
ULONG NtMajorVersion
Definition: ketypes.h:1287
struct _KUSER_SHARED_DATA::@4130::@4133 DUMMYSTRUCTNAME
volatile ULONG64 InterruptTimeBias
Definition: ketypes.h:1377
ULONG TickCountMultiplier
Definition: ketypes.h:1273
LONGLONG ConsoleSessionForegroundProcessId
Definition: ketypes.h:1357
struct _KUSER_SHARED_DATA::@4131::@4134 DUMMYSTRUCTNAME2
ULONG Wow64SharedInformation[MAX_WOW64_SHARED_ENTRIES]
Definition: ketypes.h:1360
ULONG DbgElevationEnabled
Definition: ketypes.h:1327
ULONG SharedDataFlags
Definition: ketypes.h:1323
UCHAR NXSupportPolicy
Definition: ketypes.h:1299
ULONGLONG Reserved5
Definition: ketypes.h:1376
BOOLEAN ProcessorFeatures[PROCESSOR_FEATURE_MAX]
Definition: ketypes.h:1289
ULONG LastSystemRITEventTickCount
Definition: ketypes.h:1304
ULONG NumberOfPhysicalPages
Definition: ketypes.h:1305
volatile ULONG64 TickCountQuad
Definition: ketypes.h:1347
volatile ULONG AppCompatFlag
Definition: ketypes.h:1385
volatile KSYSTEM_TIME TickCount
Definition: ketypes.h:1346
volatile ULONG AitSamplingValue
Definition: ketypes.h:1384
ULONG LargePageMinimum
Definition: ketypes.h:1283
volatile KSYSTEM_TIME InterruptTime
Definition: ketypes.h:1274
ULONG CryptoExponent
Definition: ketypes.h:1281
BOOLEAN SafeBootMode
Definition: ketypes.h:1306
volatile ULONG TimeSlip
Definition: ketypes.h:1292
UCHAR TscQpcPad[2]
Definition: ketypes.h:1318
LARGE_INTEGER SystemExpirationDate
Definition: ketypes.h:1295
union _KUSER_SHARED_DATA::@4131 DUMMYUNIONNAME2
ULONG NtMinorVersion
Definition: ketypes.h:1288
WCHAR NtSystemRoot[260]
Definition: ketypes.h:1279
USHORT ImageNumberHigh
Definition: ketypes.h:1278
ULONG ReservedTickCountOverlay[3]
Definition: ketypes.h:1350
ULONG XStatePad[1]
Definition: ketypes.h:1388
union _KUSER_SHARED_DATA::@4132 DUMMYUNIONNAME3
ULONG MaxStackTraceDepth
Definition: ketypes.h:1280
ULONG DbgErrorPortPresent
Definition: ketypes.h:1326
ULONG DbgVirtEnabled
Definition: ketypes.h:1328
ULONG ImageFileExecutionOptions
Definition: ketypes.h:1370
ULONG Reserved2[7]
Definition: ketypes.h:1284
volatile ULONG ActiveProcessorCount
Definition: ketypes.h:1381
UCHAR TscQpcSpareFlag
Definition: ketypes.h:1314
ULONG ComPlusPackage
Definition: ketypes.h:1303
ULONG TickCountPad[1]
Definition: ketypes.h:1351
ALTERNATIVE_ARCHITECTURE_TYPE AlternativeArchitecture
Definition: ketypes.h:1293
volatile USHORT ActiveGroupCount
Definition: ketypes.h:1382
ULONG SystemDllWowRelocation
Definition: ketypes.h:1387
volatile ULONG DismountCount
Definition: ketypes.h:1302
ULONG AltArchitecturePad[1]
Definition: ketypes.h:1294
volatile KSYSTEM_TIME TimeZoneBias
Definition: ketypes.h:1276
ULONG DataFlagsPad[1]
Definition: ketypes.h:1339
ULONG DbgDynProcessorEnabled
Definition: ketypes.h:1331
ULONGLONG SystemCallPad[3]
Definition: ketypes.h:1343
USHORT UserModeGlobalLogger[16]
Definition: ketypes.h:1364
USHORT ImageNumberLow
Definition: ketypes.h:1277
volatile UCHAR BlockState
Definition: ketypes.h:459
PVOID SparePtr
Definition: ketypes.h:469
struct _KQUEUE * NotificationQueue
Definition: ketypes.h:466
struct _KTHREAD * Thread
Definition: ketypes.h:465
PVOID Object
Definition: ketypes.h:468
LIST_ENTRY WaitListEntry
Definition: ketypes.h:456
UCHAR WaitType
Definition: ketypes.h:458
USHORT WaitKey
Definition: ketypes.h:460
Definition: typedefs.h:120
ULONG Self
Definition: ketypes.h:1086
ULONG ArbitraryUserPointer
Definition: ketypes.h:1085
ULONG StackLimit
Definition: ketypes.h:1079
ULONG Version
Definition: ketypes.h:1083
ULONG StackBase
Definition: ketypes.h:1078
_ANONYMOUS_UNION union _NT_TIB32::@4124 DUMMYUNIONNAME
ULONG FiberData
Definition: ketypes.h:1082
ULONG SubSystemTib
Definition: ketypes.h:1080
ULONG ExceptionList
Definition: ketypes.h:1077
_ANONYMOUS_UNION union _NT_TIB64::@4125 DUMMYUNIONNAME
ULONG Version
Definition: ketypes.h:1096
ULONG64 StackLimit
Definition: ketypes.h:1092
ULONG64 ExceptionList
Definition: ketypes.h:1090
ULONG64 ArbitraryUserPointer
Definition: ketypes.h:1098
ULONG64 SubSystemTib
Definition: ketypes.h:1093
ULONG64 Self
Definition: ketypes.h:1099
ULONG64 StackBase
Definition: ketypes.h:1091
ULONG64 FiberData
Definition: ketypes.h:1095
PVOID ArbitraryUserPointer
Definition: compat.h:719
ULONG Version
Definition: ketypes.h:1070
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::@355 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]
_ANONYMOUS_UNION union _SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX::@4105 DUMMYUNIONNAME
PROCESSOR_RELATIONSHIP Processor
Definition: ketypes.h:116
LOGICAL_PROCESSOR_RELATIONSHIP Relationship
Definition: ketypes.h:113
NUMA_NODE_RELATIONSHIP NumaNode
Definition: ketypes.h:117
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION::@4102::@4104 NumaNode
LOGICAL_PROCESSOR_RELATIONSHIP Relationship
Definition: ketypes.h:99
_ANONYMOUS_UNION union _SYSTEM_LOGICAL_PROCESSOR_INFORMATION::@4102 DUMMYUNIONNAME
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION::@4102::@4103 ProcessorCore
_In_opt_ PTIMER_APC_ROUTINE TimerApcRoutine
Definition: ketypes.h:1123
_In_opt_ struct _COUNTED_REASON_CONTEXT * WakeContext
Definition: ketypes.h:1125
_Out_opt_ PBOOLEAN PreviousState
Definition: ketypes.h:1128
_In_ LARGE_INTEGER DueTime
Definition: ketypes.h:1122
XSTATE_FEATURE Features[MAXIMUM_XSTATE_FEATURES]
Definition: ketypes.h:1237
ULONG64 EnabledSupervisorFeatures
Definition: ketypes.h:1239
ULONG64 EnabledVolatileFeatures
Definition: ketypes.h:1225
ULONG64 EnabledFeatures
Definition: ketypes.h:1223
ULONG64 EnabledUserVisibleSupervisorFeatures
Definition: ketypes.h:1245
ULONG AllFeatures[MAXIMUM_XSTATE_FEATURES]
Definition: ketypes.h:1242
ULONG AllNonLargeFeatureSize
Definition: ketypes.h:1249
ULONG64 ExtendedFeatureDisableFeatures
Definition: ketypes.h:1248
ULONG64 AlignedFeatures
Definition: ketypes.h:1240
ULONG Length
Definition: ketypes.h:977
_Field_size_bytes_opt_(Length) PXSAVE_AREA Area
PVOID Buffer
Definition: ketypes.h:983
ULONG Reserved1
Definition: ketypes.h:978
ULONG64 Mask
Definition: ketypes.h:976
#define MODE
Definition: telnetd.h:40
#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_ 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 __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:585
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
#define PROCESSOR_FEATURE_MAX
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:1394
struct _CONTEXT_CHUNK * PCONTEXT_CHUNK
PROCESSOR_CALLBACK_FUNCTION * PPROCESSOR_CALLBACK_FUNCTION
Definition: ketypes.h:374
* PXSAVE_AREA
Definition: ketypes.h:973
_KBUGCHECK_BUFFER_DUMP_STATE
Definition: ketypes.h:318
@ BufferIncomplete
Definition: ketypes.h:323
@ BufferEmpty
Definition: ketypes.h:319
@ BufferInserted
Definition: ketypes.h:320
@ BufferFinished
Definition: ketypes.h:322
@ BufferStarted
Definition: ketypes.h:321
XSAVE_AREA
Definition: ketypes.h:973
struct _KGATE * PKGATE
_KDPC_IMPORTANCE
Definition: ketypes.h:692
@ HighImportance
Definition: ketypes.h:695
@ MediumHighImportance
Definition: ketypes.h:696
@ LowImportance
Definition: ketypes.h:693
@ MediumImportance
Definition: ketypes.h:694
struct _KDEVICE_QUEUE_ENTRY * PKDEVICE_QUEUE_ENTRY
@ Latched
Definition: ketypes.h:489
@ LevelSensitive
Definition: ketypes.h:488
_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
struct _KMUTANT KMUTANT
#define XSAVE_ALIGN
Definition: ketypes.h:1023
struct _KGATE PRKGATE
enum _KE_PROCESSOR_CHANGE_NOTIFY_STATE KE_PROCESSOR_CHANGE_NOTIFY_STATE
enum _KD_OPTION KD_OPTION
*RESTRICTED_POINTER PRKAPC_STATE
Definition: ketypes.h:1409
struct _KUSER_SHARED_DATA KUSER_SHARED_DATA
XSAVE_FORMAT
Definition: ketypes.h:963
struct _KQUEUE * PKQUEUE
struct _KDPC PRKDPC
struct _KBUGCHECK_CALLBACK_RECORD * PKBUGCHECK_CALLBACK_RECORD
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:499
struct _KSYSTEM_TIME KSYSTEM_TIME
struct _NT_TIB NT_TIB
struct _KBUGCHECK_SECONDARY_DUMP_DATA KBUGCHECK_SECONDARY_DUMP_DATA
M128A
Definition: ketypes.h:937
struct _KLOCK_QUEUE_HANDLE * PKLOCK_QUEUE_HANDLE
struct _KMUTANT PRKMUTANT
NMI_CALLBACK * PNMI_CALLBACK
Definition: ketypes.h:350
enum _KSPIN_LOCK_QUEUE_NUMBER * PKSPIN_LOCK_QUEUE_NUMBER
enum _KBUGCHECK_DUMP_IO_TYPE KBUGCHECK_DUMP_IO_TYPE
_POOL_TYPE
Definition: ketypes.h:877
@ NonPagedPoolBaseCacheAlignedMustS
Definition: ketypes.h:890
@ NonPagedPoolSession
Definition: ketypes.h:892
@ NonPagedPoolCacheAlignedSession
Definition: ketypes.h:896
@ NonPagedPoolBaseMustSucceed
Definition: ketypes.h:888
@ PagedPoolCacheAligned
Definition: ketypes.h:883
@ NonPagedPoolCacheAligned
Definition: ketypes.h:882
@ PagedPoolSession
Definition: ketypes.h:893
@ DontUseThisTypeSession
Definition: ketypes.h:895
@ NonPagedPoolBase
Definition: ketypes.h:887
@ NonPagedPoolCacheAlignedMustS
Definition: ketypes.h:884
@ MaxPoolType
Definition: ketypes.h:885
@ NonPagedPool
Definition: ketypes.h:878
@ NonPagedPoolBaseCacheAligned
Definition: ketypes.h:889
@ PagedPoolCacheAlignedSession
Definition: ketypes.h:897
@ NonPagedPoolCacheAlignedMustSSession
Definition: ketypes.h:898
@ DontUseThisType
Definition: ketypes.h:881
@ NonPagedPoolMustSucceed
Definition: ketypes.h:880
@ PagedPool
Definition: ketypes.h:879
@ NonPagedPoolMustSucceedSession
Definition: ketypes.h:894
_KWAIT_REASON
Definition: ketypes.h:414
@ WrLpcReply
Definition: ketypes.h:432
@ WrGuardedMutex
Definition: ketypes.h:450
@ WrPageIn
Definition: ketypes.h:424
@ WrPoolAllocation
Definition: ketypes.h:425
@ Suspended
Definition: ketypes.h:420
@ WrPageOut
Definition: ketypes.h:434
@ PageIn
Definition: ketypes.h:417
@ WrKernel
Definition: ketypes.h:441
@ WrRundown
Definition: ketypes.h:451
@ PoolAllocation
Definition: ketypes.h:418
@ WrYieldExecution
Definition: ketypes.h:448
@ WrUserRequest
Definition: ketypes.h:428
@ WrProcessInSwap
Definition: ketypes.h:438
@ UserRequest
Definition: ketypes.h:421
@ WrLpcReceive
Definition: ketypes.h:431
@ WrFreePage
Definition: ketypes.h:423
@ DelayExecution
Definition: ketypes.h:419
@ WrKeyedEvent
Definition: ketypes.h:436
@ WrDispatchInt
Definition: ketypes.h:446
@ WrMutex
Definition: ketypes.h:444
@ WrCpuRateControl
Definition: ketypes.h:439
@ WrExecutive
Definition: ketypes.h:422
@ WrQuantumEnd
Definition: ketypes.h:445
@ WrResource
Definition: ketypes.h:442
@ WrEventPair
Definition: ketypes.h:429
@ WrCalloutStack
Definition: ketypes.h:440
@ WrPushLock
Definition: ketypes.h:443
@ WrPreempted
Definition: ketypes.h:447
@ WrQueue
Definition: ketypes.h:430
@ WrFastMutex
Definition: ketypes.h:449
@ MaximumWaitReason
Definition: ketypes.h:452
@ WrRendezvous
Definition: ketypes.h:435
@ FreePage
Definition: ketypes.h:416
@ WrVirtualMemory
Definition: ketypes.h:433
@ WrDelayExecution
Definition: ketypes.h:426
@ WrTerminated
Definition: ketypes.h:437
@ WrSuspended
Definition: ketypes.h:427
@ Executive
Definition: ketypes.h:415
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:331
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:270
struct _NT_TIB64 NT_TIB64
struct _XSTATE_SAVE XSTATE_SAVE
struct _CONTEXT_EX CONTEXT_EX
* PM128A
Definition: ketypes.h:937
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
KSERVICE_ROUTINE * PKSERVICE_ROUTINE
Definition: ketypes.h:512
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:290
@ KbDumpIoBody
Definition: ketypes.h:293
@ KbDumpIoHeader
Definition: ketypes.h:292
@ KbDumpIoSecondaryData
Definition: ketypes.h:294
@ KbDumpIoComplete
Definition: ketypes.h:295
@ KbDumpIoInvalid
Definition: ketypes.h:291
struct _KGATE KGATE
_In_ BOOLEAN Handled
Definition: ketypes.h:349
struct _KBUGCHECK_DUMP_IO * PKBUGCHECK_DUMP_IO
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD _Inout_ PVOID ReasonSpecificData
Definition: ketypes.h:269
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT _Inout_ PNTSTATUS OperationStatus
Definition: ketypes.h:373
enum _POOL_TYPE POOL_TYPE
struct _KEVENT PRKEVENT
enum _LOCK_OPERATION LOCK_OPERATION
_KINTERRUPT_POLARITY
Definition: ketypes.h:380
@ InterruptActiveLow
Definition: ketypes.h:383
@ InterruptPolarityUnknown
Definition: ketypes.h:381
@ InterruptActiveHigh
Definition: ketypes.h:382
struct _CACHE_RELATIONSHIP * PCACHE_RELATIONSHIP
XSAVE_AREA_HEADER
Definition: ketypes.h:968
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
Definition: ketypes.h:1254
struct _NUMA_NODE_RELATIONSHIP NUMA_NODE_RELATIONSHIP
struct _KBUGCHECK_REASON_CALLBACK_RECORD KBUGCHECK_REASON_CALLBACK_RECORD
struct _KMUTANT * PKMUTEX
_LOCK_OPERATION
Definition: ketypes.h:862
@ IoReadAccess
Definition: ketypes.h:863
@ IoWriteAccess
Definition: ketypes.h:864
@ IoModifyAccess
Definition: ketypes.h:865
EXCEPTION_REGISTRATION_RECORD
Definition: ketypes.h:1061
enum _PROCESSOR_CACHE_TYPE PROCESSOR_CACHE_TYPE
#define MAXIMUM_XSTATE_FEATURES
Definition: ketypes.h:1214
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:688
KSYNCHRONIZE_ROUTINE * PKSYNCHRONIZE_ROUTINE
Definition: ketypes.h:875
* PEXCEPTION_REGISTRATION_RECORD
Definition: ketypes.h:1061
struct _KMUTANT * PKMUTANT
_IRQL_requires_same_ _In_ PKE_PROCESSOR_CHANGE_NOTIFY_CONTEXT ChangeContext
Definition: ketypes.h:372
KMESSAGE_SERVICE_ROUTINE * PKMESSAGE_SERVICE_ROUTINE
Definition: ketypes.h:521
KBUGCHECK_CALLBACK_ROUTINE * PKBUGCHECK_CALLBACK_ROUTINE
Definition: ketypes.h:332
struct _DISPATCHER_HEADER * PDISPATCHER_HEADER
ULONG_PTR KSPIN_LOCK
Definition: ketypes.h:619
* PXSAVE_AREA_HEADER
Definition: ketypes.h:968
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:737
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:1190
_TIMER_SET_INFORMATION_CLASS
Definition: ketypes.h:1115
@ MaxTimerInfoClass
Definition: ketypes.h:1117
@ TimerSetCoalescableTimer
Definition: ketypes.h:1116
_LOGICAL_PROCESSOR_RELATIONSHIP
Definition: ketypes.h:81
@ RelationNumaNode
Definition: ketypes.h:83
@ RelationCache
Definition: ketypes.h:84
@ RelationProcessorCore
Definition: ketypes.h:82
@ RelationGroup
Definition: ketypes.h:86
@ RelationProcessorPackage
Definition: ketypes.h:85
@ RelationAll
Definition: ketypes.h:87
#define TIMER_PROCESSOR_INDEX_BITS
Definition: ketypes.h:738
_ALTERNATIVE_ARCHITECTURE_TYPE
Definition: ketypes.h:901
@ EndAlternatives
Definition: ketypes.h:904
@ StandardDesign
Definition: ketypes.h:902
@ NEC98x86
Definition: ketypes.h:903
* PKAPC_STATE
Definition: ketypes.h:1409
struct _KAPC KAPC
struct _CONTEXT_CHUNK CONTEXT_CHUNK
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:687
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:619
struct _KBUGCHECK_ADD_PAGES * PKBUGCHECK_ADD_PAGES
struct _KTIMER * PKTIMER
struct _KUSER_SHARED_DATA * PKUSER_SHARED_DATA
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:588
struct _KDEVICE_QUEUE KDEVICE_QUEUE
struct _KSYSTEM_TIME * PKSYSTEM_TIME
_In_ struct _KBUGCHECK_REASON_CALLBACK_RECORD * Record
Definition: ketypes.h:268
_KE_PROCESSOR_CHANGE_NOTIFY_STATE
Definition: ketypes.h:352
@ KeProcessorAddCompleteNotify
Definition: ketypes.h:354
@ KeProcessorAddFailureNotify
Definition: ketypes.h:355
@ KeProcessorAddStartNotify
Definition: ketypes.h:353
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION SYSTEM_LOGICAL_PROCESSOR_INFORMATION
struct _PROCESSOR_RELATIONSHIP PROCESSOR_RELATIONSHIP
KIPI_BROADCAST_WORKER * PKIPI_BROADCAST_WORKER
Definition: ketypes.h:617
KBUGCHECK_CALLBACK_REASON
Definition: ketypes.h:259
* PPROCESSOR_GROUP_INFO
Definition: ketypes.h:41
struct _KSEMAPHORE KSEMAPHORE
enum _KINTERRUPT_POLARITY * PKINTERRUPT_POLARITY
_KSPIN_LOCK_QUEUE_NUMBER
Definition: ketypes.h:657
@ LockQueueNtfsStructLock
Definition: ketypes.h:670
@ LockQueueExpansionLock
Definition: ketypes.h:659
@ LockQueueTimerTableLock
Definition: ketypes.h:675
@ LockQueueWorkQueueLock
Definition: ketypes.h:666
@ LockQueueUnusedSpare16
Definition: ketypes.h:674
@ LockQueueNonPagedPoolLock
Definition: ketypes.h:664
@ LockQueueSystemSpaceLock
Definition: ketypes.h:661
@ LockQueueMasterLock
Definition: ketypes.h:663
@ LockQueueDispatcherLock
Definition: ketypes.h:658
@ LockQueueIoCancelLock
Definition: ketypes.h:665
@ LockQueuePfnLock
Definition: ketypes.h:660
@ LockQueueIoDatabaseLock
Definition: ketypes.h:668
@ LockQueueMmNonPagedPoolLock
Definition: ketypes.h:673
@ LockQueueBcbLock
Definition: ketypes.h:672
@ LockQueueIoVpbLock
Definition: ketypes.h:667
@ LockQueueMaximumLock
Definition: ketypes.h:676
@ LockQueueIoCompletionLock
Definition: ketypes.h:669
@ LockQueueAfdWorkQueueLock
Definition: ketypes.h:671
@ LockQueueVacbLock
Definition: ketypes.h:662
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:520
struct _KQUEUE PRKQUEUE
VOID(NTAPI * PKINTERRUPT_ROUTINE)(VOID)
Definition: ketypes.h:502
struct _NT_TIB32 * PNT_TIB32
enum _LOGICAL_PROCESSOR_RELATIONSHIP LOGICAL_PROCESSOR_RELATIONSHIP
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:271
enum _KWAIT_REASON KWAIT_REASON
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:689
KAPC_STATE
Definition: ketypes.h:1409
_In_ PVOID ServiceContext
Definition: ketypes.h:511
$endif(_WDMDDK_) $if(_WDMDDK_||_WINNT_) typedef struct _PROCESSOR_GROUP_INFO
Definition: ketypes.h:33
EXPAND_STACK_CALLOUT * PEXPAND_STACK_CALLOUT
Definition: ketypes.h:1107
struct _SYSTEM_LOGICAL_PROCESSOR_INFORMATION * PSYSTEM_LOGICAL_PROCESSOR_INFORMATION
struct _KMUTANT KMUTEX
_KD_OPTION
Definition: ketypes.h:523
@ KD_OPTION_SET_BLOCK_ENABLE
Definition: ketypes.h:524
* PXSAVE_FORMAT
Definition: ketypes.h:963
#define MINIMAL_XSTATE_AREA_LENGTH
Definition: ketypes.h:1024
struct _KBUGCHECK_SECONDARY_DUMP_DATA * PKBUGCHECK_SECONDARY_DUMP_DATA
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:690
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:1110
struct _XSTATE_CONTEXT XSTATE_CONTEXT
struct _KGUARDED_MUTEX KGUARDED_MUTEX
struct _CACHE_RELATIONSHIP CACHE_RELATIONSHIP
struct _KEVENT * PKEVENT
struct _DISPATCHER_HEADER DISPATCHER_HEADER
enum _ALTERNATIVE_ARCHITECTURE_TYPE ALTERNATIVE_ARCHITECTURE_TYPE
_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