ReactOS  0.4.15-dev-2993-g14fbe80
ke.h
Go to the documentation of this file.
1 #pragma once
2 
3 /* INCLUDES *****************************************************************/
4 
5 #include "arch/ke.h"
6 
7 #ifdef __cplusplus
8 extern "C"
9 {
10 #endif
11 
12 /* INTERNAL KERNEL TYPES ****************************************************/
13 
14 typedef struct _WOW64_PROCESS
15 {
18 
20 {
24 
25 typedef enum _CONNECT_TYPE
26 {
32 
33 typedef struct _DISPATCH_INFO
34 {
43 
44 typedef struct _PROCESS_VALUES
45 {
50 
52 {
56 
57 typedef struct _KI_SAMPLE_MAP
58 {
68 
69 #define MAX_TIMER_DPCS 16
70 
71 typedef struct _DPC_QUEUE_ENTRY
72 {
77 
78 typedef struct _KNMI_HANDLER_CALLBACK
79 {
85 
86 typedef PCHAR
88  IN PUNICODE_STRING Unicode,
89  IN PCHAR Ansi,
91 );
92 
104 extern USHORT KeProcessorLevel;
106 extern ULONG KeFeatureBits;
107 extern KNODE KiNode0;
108 extern PKNODE KeNodeBlock[1];
109 extern UCHAR KeNumberNodes;
110 extern UCHAR KeProcessNodeSeed;
111 extern ETHREAD KiInitialThread;
120 extern ULONG KiMinimumDpcRate;
122 extern ULONG KiIdealDpcRate;
127 extern ULONG KiServiceLimit;
130 extern KDPC KiTimerExpireDpc;
138 extern KEVENT KiSwapEvent;
139 extern PKPRCB KiProcessorBlock[];
141 extern ULONG_PTR KiIdleSummary;
146 extern ULONG KeTimeIncrement;
147 extern ULONG KeTimeAdjustment;
149 extern LONG KiTickOffset;
150 extern ULONG KiFreezeFlag;
151 extern ULONG KiDPCTimeout;
154 extern ULONG ProcessCount;
156 
157 /* MACROS *************************************************************************/
158 
159 #define AFFINITY_MASK(Id) KiMask32Array[Id]
160 #define PRIORITY_MASK(Id) KiMask32Array[Id]
161 
162 /* Tells us if the Timer or Event is a Syncronization or Notification Object */
163 #define TIMER_OR_EVENT_TYPE 0x7L
164 
165 /* One of the Reserved Wait Blocks, this one is for the Thread's Timer */
166 #define TIMER_WAIT_BLOCK 0x3L
167 
168 /* INTERNAL KERNEL FUNCTIONS ************************************************/
169 
170 /* Finds a new thread to run */
171 LONG_PTR
172 FASTCALL
175  IN PKPRCB Prcb
176 );
177 
178 VOID
179 NTAPI
182 );
183 
184 BOOLEAN
185 NTAPI
188  IN BOOLEAN Disable
189 );
190 
191 BOOLEAN
192 NTAPI
195  IN BOOLEAN Disable
196 );
197 
198 BOOLEAN
199 NTAPI
203 );
204 
205 KAFFINITY
206 NTAPI
210 );
211 
212 VOID
213 NTAPI
217 );
218 
219 VOID
220 NTAPI
222 
223 VOID
224 NTAPI
226 
227 ULONG
228 NTAPI
230 
231 BOOLEAN
232 NTAPI
234 
235 BOOLEAN
236 FASTCALL
238  IN KIRQL WaitIrql,
239  IN PKTHREAD CurrentThread
240 );
241 
242 VOID
243 NTAPI
245 
246 VOID
247 FASTCALL
249 
250 VOID
251 FASTCALL
253 
254 PKTHREAD
255 FASTCALL
257  IN PKPRCB Prcb
258 );
259 
260 VOID
261 FASTCALL
263  IN PKPRCB Prcb
264 );
265 
266 KAFFINITY
267 FASTCALL
271 );
272 
273 PKTHREAD
274 FASTCALL
276  IN PKPRCB Prcb
277 );
278 
279 BOOLEAN
280 FASTCALL
282  IN PKTIMER Timer,
283  IN ULONG Hand
284 );
285 
286 VOID
287 FASTCALL
289  IN PLIST_ENTRY ExpiredListHead,
291 );
292 
293 BOOLEAN
294 FASTCALL
296  IN PKTIMER Timer,
298 );
299 
300 VOID
301 FASTCALL
303  IN PKTIMER Timer,
304  IN PKSPIN_LOCK_QUEUE LockQueue
305 );
306 
307 /* gmutex.c ********************************************************************/
308 
309 VOID
310 FASTCALL
312  IN OUT PKGUARDED_MUTEX GuardedMutex
313 );
314 
315 VOID
316 FASTCALL
318  IN PFAST_MUTEX FastMutex
319 );
320 
321 /* gate.c **********************************************************************/
322 
323 VOID
324 FASTCALL
326 
327 VOID
328 FASTCALL
330 
331 VOID
332 FASTCALL
334  PKGATE Gate,
335  KWAIT_REASON WaitReason,
336  KPROCESSOR_MODE WaitMode
337 );
338 
339 /* ipi.c ********************************************************************/
340 
341 VOID
342 FASTCALL
343 KiIpiSend(
344  KAFFINITY TargetSet,
345  ULONG IpiRequest
346 );
347 
348 VOID
349 NTAPI
351  IN KAFFINITY TargetProcessors,
352  IN PKIPI_WORKER WorkerFunction,
353  IN PKIPI_BROADCAST_WORKER BroadcastFunction,
355  IN PULONG Count
356 );
357 
358 VOID
359 FASTCALL
361  IN PKIPI_CONTEXT PacketContext
362 );
363 
364 VOID
365 FASTCALL
367  IN PKIPI_CONTEXT PacketContext,
368  IN volatile PULONG ReverseStall
369 );
370 
371 /* next file ***************************************************************/
372 
373 UCHAR
374 NTAPI
376  IN UCHAR Number,
377  IN ULONG Set
378 );
379 
380 VOID
381 NTAPI
383 
384 VOID
385 NTAPI
387  struct _KPROFILE* Profile,
388  struct _KPROCESS* Process,
389  PVOID ImageBase,
390  SIZE_T ImageSize,
391  ULONG BucketSize,
392  KPROFILE_SOURCE ProfileSource,
394 );
395 
396 BOOLEAN
397 NTAPI
399  struct _KPROFILE* Profile,
400  PVOID Buffer
401 );
402 
403 BOOLEAN
404 NTAPI
405 KeStopProfile(struct _KPROFILE* Profile);
406 
407 ULONG
408 NTAPI
410 
411 VOID
412 NTAPI
414  ULONG Interval,
415  KPROFILE_SOURCE ProfileSource
416 );
417 
418 VOID
419 NTAPI
421  PKTRAP_FRAME TrapFrame,
422  KIRQL Irql
423 );
424 
425 VOID
426 NTAPI
428  PKDPC Dpc,
432 );
433 
434 VOID
435 NTAPI
439  IN PKSYSTEM_ROUTINE SystemRoutine,
441  IN PVOID StartContext,
443  IN PVOID Teb,
444  IN PVOID KernelStack
445 );
446 
447 VOID
448 NTAPI
451 );
452 
453 NTSTATUS
454 NTAPI
457  IN PVOID KernelStack,
458  IN PKSYSTEM_ROUTINE SystemRoutine,
460  IN PVOID StartContext,
462  IN PVOID Teb,
464 );
465 
466 VOID
467 NTAPI
470  PKSYSTEM_ROUTINE SystemRoutine,
472  PVOID StartContext,
474 );
475 
476 VOID
477 NTAPI
480 );
481 
482 BOOLEAN
483 NTAPI
486  IN KPROCESSOR_MODE AlertMode
487 );
488 
489 ULONG
490 NTAPI
493 );
494 
495 ULONG
496 NTAPI
499 );
500 
501 PVOID
502 NTAPI
504  IN PVOID StackBase,
505  IN PVOID StackLimit
506 );
507 
508 VOID
509 NTAPI
511 
512 NTSTATUS
513 NTAPI
515 
516 VOID
517 NTAPI
519  IN PKAPC Apc
520 );
521 
522 VOID
523 NTAPI
525  IN PKAPC Apc,
526  IN PKNORMAL_ROUTINE *NormalRoutine,
527  IN PVOID *NormalContext,
530 );
531 
532 VOID
533 NTAPI
535  IN PVOID NormalContext,
538 );
539 
540 LONG
541 NTAPI
543 
544 VOID
545 FASTCALL
549 );
550 
551 VOID
552 FASTCALL
555  IN LONG_PTR WaitStatus
556 );
557 
558 VOID
559 NTAPI
561 
562 BOOLEAN
563 NTAPI
565 
566 VOID
567 FASTCALL
570  IN LONG_PTR WaitStatus,
572 );
573 
574 VOID
575 NTAPI
577  struct _KPROCESS *Process,
580  PULONG_PTR DirectoryTableBase,
582 );
583 
584 VOID
585 NTAPI
588  IN UCHAR Quantum
589 );
590 
591 KPRIORITY
592 NTAPI
596  IN UCHAR Quantum OPTIONAL
597 );
598 
599 ULONG
600 NTAPI
602 
603 VOID
604 NTAPI
606  VOID
607 );
608 
609 VOID
610 NTAPI
612  VOID
613 );
614 
615 BOOLEAN
616 NTAPI
618 
619 VOID
620 FASTCALL
621 KiWaitTest(
622  PVOID Object,
624 );
625 
626 VOID
627 NTAPI
630  PKEXCEPTION_FRAME ExeptionFrame,
631  PKTRAP_FRAME TrapFrame,
632  ULONG ContextFlags,
634 );
635 
636 VOID
637 NTAPI
639 
640 VOID
641 NTAPI
643 
644 LONG
645 NTAPI
647  IN PKQUEUE Queue,
649  BOOLEAN Head
650 );
651 
652 VOID
653 NTAPI
655  IN PKDPC Dpc,
659 );
660 
661 ULONG
662 NTAPI
664  struct _KPROCESS* Process,
666  BOOLEAN InWait
667 );
668 
669 VOID
670 NTAPI
672 
673 VOID
674 NTAPI
677  IN PKTRAP_FRAME TrapFrame,
678  IN PKNORMAL_ROUTINE NormalRoutine,
679  IN PVOID NormalContext,
682 );
683 
685 NTAPI
689 );
690 
691 VOID
692 NTAPI
694  struct _KTHREAD *Thread,
695  struct _KPROCESS *Process,
696  PKLOCK_QUEUE_HANDLE ApcLock,
697  struct _KAPC_STATE *SavedApcState
698 );
699 
700 VOID
701 NTAPI
703  struct _KPROCESS *NewProcess,
704  struct _KPROCESS *OldProcess
705 );
706 
707 BOOLEAN
708 NTAPI
710 
711 BOOLEAN
712 NTAPI
714 
715 VOID
716 FASTCALL
718 
719 ULONG
720 NTAPI
723 
724 VOID
725 NTAPI
727  PPROCESS_VALUES Values);
728 
729 /* INITIALIZATION FUNCTIONS *************************************************/
730 
731 CODE_SEG("INIT")
732 BOOLEAN
733 NTAPI
735 
736 CODE_SEG("INIT")
737 VOID
738 NTAPI
740 
741 VOID
742 NTAPI
744 
745 CODE_SEG("INIT")
746 VOID
747 NTAPI
749 
751 CODE_SEG("INIT")
752 VOID
753 NTAPI
755  IN PLOADER_PARAMETER_BLOCK LoaderBlock
756 );
757 
758 BOOLEAN
759 NTAPI
760 KiDeliverUserApc(PKTRAP_FRAME TrapFrame);
761 
762 VOID
763 NTAPI
765  PKAPC_STATE OldState,
766  PKAPC_STATE NewState
767 );
768 
769 VOID
770 NTAPI
773  ULONG Pc
774 );
775 
776 VOID
777 NTAPI
779  PEXCEPTION_RECORD ExceptionRecord,
780  PKEXCEPTION_FRAME ExceptionFrame,
781  PKTRAP_FRAME Tf,
783  BOOLEAN SearchFrames
784 );
785 
786 VOID
787 NTAPI
789  IN PKTRAP_FRAME TrapFrame,
790  IN PKEXCEPTION_FRAME ExceptionFrame,
792 );
793 
795 VOID
796 NTAPI
798  ULONG BugCheckCode,
799  ULONG_PTR BugCheckParameter1,
800  ULONG_PTR BugCheckParameter2,
801  ULONG_PTR BugCheckParameter3,
802  ULONG_PTR BugCheckParameter4,
803  PKTRAP_FRAME Tf
804 );
805 
806 BOOLEAN
807 NTAPI
809 
810 VOID
811 NTAPI
813 
814 BOOLEAN
815 NTAPI
817 
818 VOID
819 FASTCALL
821  IN ULONG Size);
822 
823 BOOLEAN
824 FASTCALL
825 KeInvalidAccessAllowed(IN PVOID TrapInformation OPTIONAL);
826 
827 VOID
828 NTAPI
830  PULONG_PTR Frame,
831  ULONG FrameCount
832 );
833 
834 VOID
835 NTAPI
837  IN PLARGE_INTEGER NewSystemTime,
838  OUT PLARGE_INTEGER OldSystemTime,
839  IN BOOLEAN FixInterruptTime,
840  IN PLARGE_INTEGER HalTime
841 );
842 
843 ULONG
844 NTAPI
846  ULONG ExceptionNr,
847  PKTRAP_FRAME Tf,
848  ULONG address
849 );
850 
851 VOID
852 NTAPI
854  VOID
855 );
856 
857 VOID
858 NTAPI
860  VOID
861 );
862 
863 NTSTATUS
864 NTAPI
866  IN PEXCEPTION_RECORD ExceptionRecord,
868  IN PKEXCEPTION_FRAME ExceptionFrame,
869  IN PKTRAP_FRAME TrapFrame,
870  IN BOOLEAN SearchFrames
871 );
872 
873 NTSTATUS
874 NTAPI
875 KiContinue(
877  IN PKEXCEPTION_FRAME ExceptionFrame,
878  IN PKTRAP_FRAME TrapFrame
879 );
880 
882 VOID
883 FASTCALL
885  IN PKTRAP_FRAME TrapFrame,
887 );
888 
890 VOID
891 FASTCALL
893  IN PKTRAP_FRAME TrapFrame
894 );
895 
896 #ifndef _M_AMD64
897 VOID
898 FASTCALL
900  IN PKTRAP_FRAME TrapFrame,
902 );
903 #endif
904 
905 VOID
906 FASTCALL
908  IN PKTRAP_FRAME TrapFrame,
910 );
911 
912 CODE_SEG("INIT")
913 VOID
914 NTAPI
916  VOID
917 );
918 
919 VOID
920 NTAPI
922  IN PKPROCESS InitProcess,
923  IN PKTHREAD InitThread,
924  IN PVOID IdleStack,
925  IN PKPRCB Prcb,
926  IN CCHAR Number,
927  IN PLOADER_PARAMETER_BLOCK LoaderBlock
928 );
929 
930 CODE_SEG("INIT")
931 VOID
932 NTAPI
934  IN PKPRCB Prcb,
935  IN CCHAR Number
936 );
937 
938 CODE_SEG("INIT")
940 NTAPI
942  IN LONG Divisor,
944 );
945 
946 CODE_SEG("INIT")
947 VOID
948 NTAPI
950  VOID
951 );
952 
953 VOID
954 FASTCALL
956  IN PKAPC Apc,
958 );
959 
960 NTSTATUS
961 NTAPI
964  IN PULONG OutputLength
965 );
966 
968 VOID
969 FASTCALL
971  IN PVOID Stack,
973 );
974 
975 CODE_SEG("INIT")
976 VOID
977 NTAPI
979 
980 BOOLEAN
981 NTAPI
983  IN PKEXCEPTION_FRAME ExceptionFrame);
984 
985 VOID
986 NTAPI
988 
992 VOID
993 FASTCALL
994 KeAcquireQueuedSpinLockAtDpcLevel(
995  _Inout_ PKSPIN_LOCK_QUEUE LockQueue
996 );
997 
1001 VOID
1002 FASTCALL
1003 KeReleaseQueuedSpinLockFromDpcLevel(
1004  _Inout_ PKSPIN_LOCK_QUEUE LockQueue
1005 );
1006 
1007 VOID
1008 NTAPI
1010  IN PKPROCESSOR_STATE ProcessorState
1011 );
1012 
1013 VOID
1014 NTAPI
1016  OUT PKPROCESSOR_STATE ProcessorState
1017 );
1018 
1019 VOID
1020 NTAPI
1022  IN PKTRAP_FRAME TrapFrame,
1023  IN PKEXCEPTION_FRAME ExceptionFrame
1024 );
1025 
1026 VOID
1027 FASTCALL
1029  IN PKPRCB Prcb
1030 );
1031 
1032 VOID
1033 NTAPI
1034 KiQuantumEnd(
1035  VOID
1036 );
1037 
1039 VOID
1040 KiIdleLoop(
1041  VOID
1042 );
1043 
1045 VOID
1046 FASTCALL
1049  IN PKTRAP_FRAME TrapFrame
1050 );
1051 
1052 PVOID
1053 NTAPI
1055  OUT PLDR_DATA_TABLE_ENTRY *LdrEntry,
1056  IN BOOLEAN DriversOnly,
1057  OUT PBOOLEAN InKernel);
1058 
1059 PVOID
1060 NTAPI
1062  OUT PLDR_DATA_TABLE_ENTRY *LdrEntry);
1063 
1064 PCHAR
1065 NTAPI
1067  IN PUNICODE_STRING Unicode,
1068  OUT PCHAR Ansi,
1069  IN ULONG Length
1070 );
1071 
1072 #ifdef __cplusplus
1073 } // extern "C"
1074 
1075 namespace ntoskrnl
1076 {
1077 
1078 /* Like std::lock_guard, but for a Queued Spinlock */
1079 template <KSPIN_LOCK_QUEUE_NUMBER n>
1080 class KiQueuedSpinLockGuard
1081 {
1082 private:
1083  KIRQL m_OldIrql;
1084 public:
1085 
1089  explicit KiQueuedSpinLockGuard()
1090  {
1091  m_OldIrql = KeAcquireQueuedSpinLock(n);
1092  }
1093 
1096  ~KiQueuedSpinLockGuard()
1097  {
1098  KeReleaseQueuedSpinLock(n, m_OldIrql);
1099  }
1100 
1101 private:
1102  KiQueuedSpinLockGuard(KiQueuedSpinLockGuard const&) = delete;
1103  KiQueuedSpinLockGuard& operator=(KiQueuedSpinLockGuard const&) = delete;
1104 };
1105 
1106 }
1107 
1108 #endif
1109 
1110 #include "ke_x.h"
PKINTERRUPT Interrupt
Definition: ke.h:36
VOID NTAPI KeContextToTrapFrame(PCONTEXT Context, PKEXCEPTION_FRAME ExeptionFrame, PKTRAP_FRAME TrapFrame, ULONG ContextFlags, KPROCESSOR_MODE PreviousMode)
DECLSPEC_NORETURN VOID KiIdleLoop(VOID)
Definition: stubs.c:175
VOID NTAPI KiInitSystem(VOID)
Definition: krnlinit.c:71
signed char * PCHAR
Definition: retypes.h:7
BOOLEAN NTAPI KeSetDisableBoostThread(IN OUT PKTHREAD Thread, IN BOOLEAN Disable)
Definition: thrdobj.c:95
VOID NTAPI KiInitMachineDependent(VOID)
Definition: kiinit.c:46
PLIST_ENTRY NTAPI KeFlushQueueApc(IN PKTHREAD Thread, IN KPROCESSOR_MODE PreviousMode)
Definition: apc.c:793
PVOID NTAPI KiPcToFileHeader(IN PVOID Eip, OUT PLDR_DATA_TABLE_ENTRY *LdrEntry, IN BOOLEAN DriversOnly, OUT PBOOLEAN InKernel)
Definition: bug.c:41
VOID NTAPI KeRundownThread(VOID)
Definition: thrdobj.c:439
DECLSPEC_NORETURN VOID FASTCALL KiServiceExit2(IN PKTRAP_FRAME TrapFrame)
Definition: traphdlr.c:189
_Inout_ PIRP _In_ NTSTATUS ExceptionCode
Definition: cdprocs.h:1772
KAFFINITY FASTCALL KiSetAffinityThread(IN PKTHREAD Thread, IN KAFFINITY Affinity)
Definition: thrdschd.c:685
#define IN
Definition: typedefs.h:39
ULONG NTAPI KeAlertResumeThread(IN PKTHREAD Thread)
Definition: thrdobj.c:133
PKINTERRUPT_ROUTINE FloatingDispatch
Definition: ke.h:39
VOID FASTCALL KiUnwaitThread(IN PKTHREAD Thread, IN LONG_PTR WaitStatus, IN KPRIORITY Increment)
Definition: wait.c:89
VOID NTAPI KeReadyThread(IN PKTHREAD Thread)
Definition: thrdobj.c:115
VOID NTAPI KeThawAllThreads(VOID)
Definition: thrdobj.c:669
VOID NTAPI KeUpdateRunTime(PKTRAP_FRAME TrapFrame, KIRQL Irql)
#define DISPATCH_LEVEL
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:101
KAFFINITY NTAPI KeSetAffinityProcess(IN PKPROCESS Process, IN KAFFINITY Affinity)
Definition: procobj.c:265
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
Definition: wdfdpc.h:107
ULONGLONG KeBootTimeBias
Definition: clock.c:18
KSPIN_LOCK KiProfileLock
Definition: profobj.c:20
KDPC KiTimerExpireDpc
Definition: dpc.c:25
#define _Inout_
Definition: ms_sal.h:378
ULONG ProcessCount
Definition: perfdata.c:37
#define __cdecl
Definition: accygwin.h:79
BOOLEAN NTAPI KeSetAutoAlignmentProcess(IN PKPROCESS Process, IN BOOLEAN Enable)
Definition: procobj.c:313
PVOID KeUserApcDispatcher
Definition: ke.h:142
LARGE_INTEGER NTAPI KiComputeReciprocal(IN LONG Divisor, OUT PUCHAR Shift)
Definition: krnlinit.c:123
struct _DISPATCH_INFO DISPATCH_INFO
ULONG KiServiceLimit
Definition: krnlinit.c:26
LARGE_INTEGER PerfStart
Definition: ke.h:59
LARGE_INTEGER PerfEnd
Definition: ke.h:60
VOID NTAPI KeStartThread(IN OUT PKTHREAD Thread)
Definition: thrdobj.c:498
KIPI_BROADCAST_WORKER * PKIPI_BROADCAST_WORKER
Definition: ketypes.h:605
_In_ ULONG _In_opt_ POBJECT_ATTRIBUTES _In_opt_ HANDLE _Out_opt_ PCLIENT_ID _In_ PKSTART_ROUTINE StartRoutine
Definition: psfuncs.h:87
KNODE KiNode0
Definition: krnlinit.c:38
BOOLEAN NTAPI KeSetDisableBoostProcess(IN PKPROCESS Process, IN BOOLEAN Disable)
Definition: procobj.c:331
struct _KNMI_HANDLER_CALLBACK KNMI_HANDLER_CALLBACK
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
Definition: wdfdevice.h:2221
_IRQL_requires_min_(DISPATCH_LEVEL) _Acquires_nonreentrant_lock_(*LockHandle -> Lock) _Acquires_exclusive_lock_(*LockHandle->Lock) VOID FASTCALL KeAcquireQueuedSpinLockAtDpcLevel(_Inout_ PKSPIN_LOCK_QUEUE LockQueue)
Definition: spinlock.c:121
NTSTATUS NTAPI KeInitThread(IN OUT PKTHREAD Thread, IN PVOID KernelStack, IN PKSYSTEM_ROUTINE SystemRoutine, IN PKSTART_ROUTINE StartRoutine, IN PVOID StartContext, IN PCONTEXT Context, IN PVOID Teb, IN PKPROCESS Process)
Definition: thrdobj.c:765
ULONGLONG BootCycles
Definition: kiinit.c:30
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:372
ULONG KiUnexpectedEntrySize
unsigned char * PUCHAR
Definition: retypes.h:3
VOID NTAPI KeThawExecution(IN BOOLEAN Enable)
Definition: freeze.c:46
NTSTATUS NTAPI KiCallUserMode(IN PVOID *OutputBuffer, IN PULONG OutputLength)
Definition: usercall.c:321
PVOID NTAPI KeSwitchKernelStack(IN PVOID StackBase, IN PVOID StackLimit)
NTSTATUS NTAPI KeReleaseThread(PKTHREAD Thread)
LARGE_INTEGER PerfFreq
Definition: ke.h:62
ULONG NTAPI KeResumeThread(IN PKTHREAD Thread)
Definition: thrdobj.c:397
VOID NTAPI KeInitExceptions(VOID)
Definition: except.c:59
VOID FASTCALL KiUnlinkThread(IN PKTHREAD Thread, IN LONG_PTR WaitStatus)
Definition: wait.c:55
LONG NTSTATUS
Definition: precomp.h:26
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:140
VOID __cdecl KiInterruptTemplate(VOID)
VOID NTAPI KiAdjustQuantumThread(IN PKTHREAD Thread)
Definition: thrdschd.c:461
VOID NTAPI Ke386SetIOPL(VOID)
Definition: v86vdm.c:581
GLdouble n
Definition: glext.h:7729
VOID FASTCALL KiDeferredReadyThread(IN PKTHREAD Thread)
Definition: thrdschd.c:79
PKTHREAD FASTCALL KiSelectNextThread(IN PKPRCB Prcb)
Definition: thrdschd.c:328
PKINTERRUPT_ROUTINE NoDispatch
Definition: ke.h:37
IN PVOID IN PVOID IN USHORT IN USHORT Size
Definition: pci.h:361
VOID FASTCALL KiWaitTest(PVOID Object, KPRIORITY Increment)
VOID NTAPI KiCheckForKernelApcDelivery(VOID)
Definition: apc.c:36
ULONG KeFeatureBits
Definition: krnlinit.c:22
VOID NTAPI KiQuantumEnd(VOID)
LONGLONG PerfDelta
Definition: ke.h:61
ULONG KiAdjustDpcThreshold
Definition: dpc.c:21
VOID FASTCALL KiTimerListExpire(IN PLIST_ENTRY ExpiredListHead, IN KIRQL OldIrql)
Definition: dpc.c:338
VOID NTAPI KiInitializeUserApc(IN PKEXCEPTION_FRAME Reserved, IN PKTRAP_FRAME TrapFrame, IN PKNORMAL_ROUTINE NormalRoutine, IN PVOID NormalContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
Definition: usercall.c:266
IO_COUNTERS IoInfo
Definition: ke.h:48
VOID FASTCALL KiInsertQueueApc(IN PKAPC Apc, IN KPRIORITY PriorityBoost)
Definition: apc.c:85
VOID NTAPI DbgBreakPointNoBugCheck(VOID)
VOID NTAPI KiStartUnexpectedRange(VOID)
_Acquires_exclusive_lock_(Vcb->Resource)) FINISHED FatAcquireExclusiveVcb_Real(IN PIRP_CONTEXT IrpContext
PNMI_CALLBACK Callback
Definition: ke.h:81
ULONG KiTimeLimitIsrMicroseconds
Definition: dpc.c:26
PVOID Wow64
Definition: ke.h:16
PCHAR NTAPI KeBugCheckUnicodeToAnsi(IN PUNICODE_STRING Unicode, OUT PCHAR Ansi, IN ULONG Length)
Definition: bug.c:515
VOID NTAPI KeInitializeProcess(struct _KPROCESS *Process, KPRIORITY Priority, KAFFINITY Affinity, PULONG_PTR DirectoryTableBase, IN BOOLEAN Enable)
#define FASTCALL
Definition: nt_native.h:50
_Out_ PKIRQL Irql
Definition: csq.h:179
#define DECLSPEC_NORETURN
Definition: ntbasedef.h:176
VOID NTAPI KiSuspendNop(IN PKAPC Apc, IN PKNORMAL_ROUTINE *NormalRoutine, IN PVOID *NormalContext, IN PVOID *SystemArgument1, IN PVOID *SystemArgument2)
Definition: thrdobj.c:580
#define _IRQL_raises_(irql)
Definition: driverspecs.h:228
LONG KPRIORITY
Definition: compat.h:662
BOOLEAN NTAPI KiDeliverUserApc(PKTRAP_FRAME TrapFrame)
VOID FASTCALL KiChainedDispatch(IN PKTRAP_FRAME TrapFrame, IN PKINTERRUPT Interrupt)
Definition: irqobj.c:231
static BOOL Set
Definition: pageheap.c:10
struct _KNMI_HANDLER_CALLBACK * Next
Definition: ke.h:80
BOOLEAN KiTimeAdjustmentEnabled
Definition: time.c:19
enum _CONNECT_TYPE CONNECT_TYPE
BOOLEAN NTAPI KiTestAlert(VOID)
Definition: ketypes.h:703
uint32_t ULONG_PTR
Definition: typedefs.h:65
BOOLEAN FASTCALL KiSwapContext(IN KIRQL WaitIrql, IN PKTHREAD CurrentThread)
FAST_MUTEX KiGenericCallDpcMutex
Definition: dpc.c:24
ULONG NTAPI KeSetProcess(struct _KPROCESS *Process, KPRIORITY Increment, BOOLEAN InWait)
_CONNECT_TYPE
Definition: ke.h:25
LARGE_INTEGER KeBootTime
Definition: clock.c:17
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
Definition: wdfrequest.h:636
_Acquires_nonreentrant_lock_(SpinLock) FORCEINLINE VOID KxAcquireSpinLock(_Unreferenced_parameter_ PKSPIN_LOCK SpinLock)
Definition: spinlock.h:18
UCHAR KIRQL
Definition: env_spec_w32.h:591
VOID NTAPI KeBoostPriorityThread(IN PKTHREAD Thread, IN KPRIORITY Increment)
Definition: thrdobj.c:229
ULONG NTAPI KeSuspendThread(PKTHREAD Thread)
Definition: thrdobj.c:610
LIST_ENTRY KiProfileListHead
Definition: profobj.c:18
VOID NTAPI KiInitializeContextThread(PKTHREAD Thread, PKSYSTEM_ROUTINE SystemRoutine, PKSTART_ROUTINE StartRoutine, PVOID StartContext, PCONTEXT Context)
PVOID KeUserCallbackDispatcher
Definition: ke.h:143
VOID(NTAPI * PKSYSTEM_ROUTINE)(PKSTART_ROUTINE StartRoutine, PVOID StartContext)
Definition: ketypes.h:667
VOID NTAPI KiEndUnexpectedRange(VOID)
UCHAR NTAPI KeFindNextRightSetAffinity(IN UCHAR Number, IN ULONG Set)
Definition: thrdobj.c:32
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
LONG KiTickOffset
Definition: time.c:17
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:487
_In_ WDFREQUEST _In_ NTSTATUS _In_ CCHAR PriorityBoost
Definition: wdfrequest.h:1011
_Releases_nonreentrant_lock_(SpinLock) FORCEINLINE VOID KxReleaseSpinLock(_Unreferenced_parameter_ PKSPIN_LOCK SpinLock)
Definition: spinlock.h:69
PVOID KeRaiseUserExceptionDispatcher
Definition: ke.h:145
VOID NTAPI KeRosDumpStackFrames(PULONG_PTR Frame, ULONG FrameCount)
BOOLEAN NTAPI KeRemoveQueueApc(PKAPC Apc)
long LONG
Definition: pedump.c:60
struct _PROCESS_VALUES PROCESS_VALUES
struct _DEFERRED_REVERSE_BARRIER DEFERRED_REVERSE_BARRIER
VOID NTAPI KiDispatchException(PEXCEPTION_RECORD ExceptionRecord, PKEXCEPTION_FRAME ExceptionFrame, PKTRAP_FRAME Tf, KPROCESSOR_MODE PreviousMode, BOOLEAN SearchFrames)
VOID NTAPI KeInitInterrupts(VOID)
Definition: ppc_irq.c:151
KPROFILE_SOURCE Source
Definition: ke.h:21
VOID NTAPI KiTimerExpiration(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
Definition: dpc.c:79
UCHAR KeProcessNodeSeed
Definition: krnlinit.c:41
#define _Releases_lock_(a)
Definition: btrfs_drv.h:208
Definition: ke.h:27
VOID FASTCALL KiSetPriorityThread(IN PKTHREAD Thread, IN KPRIORITY Priority)
Definition: thrdschd.c:511
BOOLEAN NTAPI KeFreezeExecution(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
Definition: freeze.c:26
ULONG KiDPCTimeout
Definition: dpc.c:27
VOID NTAPI KiInitializeBugCheck(VOID)
Definition: bug.c:297
BOOLEAN NTAPI KeReadStateThread(IN PKTHREAD Thread)
Definition: thrdobj.c:51
DECLSPEC_NORETURN VOID NTAPI KeBugCheckWithTf(ULONG BugCheckCode, ULONG_PTR BugCheckParameter1, ULONG_PTR BugCheckParameter2, ULONG_PTR BugCheckParameter3, ULONG_PTR BugCheckParameter4, PKTRAP_FRAME Tf)
unsigned char BOOLEAN
BOOLEAN NTAPI KeStopProfile(struct _KPROFILE *Profile)
struct _WOW64_PROCESS WOW64_PROCESS
enum _KPROFILE_SOURCE KPROFILE_SOURCE
CONNECT_TYPE Type
Definition: ke.h:35
static WCHAR Address[46]
Definition: ping.c:68
ULONG NTAPI KeQueryIntervalProfile(KPROFILE_SOURCE ProfileSource)
struct _KPROFILE_SOURCE_OBJECT KPROFILE_SOURCE_OBJECT
VOID NTAPI KiRestoreProcessorControlState(IN PKPROCESSOR_STATE ProcessorState)
ULONG KeTimeAdjustment
Definition: time.c:18
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
ULONG KiIdealDpcRate
Definition: dpc.c:22
Definition: bufpool.h:45
VOID NTAPI KeTrapFrameToContext(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN OUT PCONTEXT Context)
Definition: context.c:169
Definition: ke.h:71
LARGE_INTEGER KiTimeIncrementReciprocal
Definition: timerobj.c:18
UCHAR KiTimeIncrementShiftCount
Definition: timerobj.c:19
PKDPC Dpc
Definition: ke.h:73
ULONG KiMask32Array[MAXIMUM_PRIORITY]
Definition: thrdobj.c:18
ULONGLONG BootCyclesEnd
Definition: kiinit.c:30
PULONG KiInterruptTemplateDispatch
LIST_ENTRY ListEntry
Definition: ke.h:22
VOID FASTCALL KiExitDispatcher(KIRQL OldIrql)
VOID NTAPI KiReadyThread(IN PKTHREAD Thread)
Definition: thrdschd.c:429
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:859
BOOLEAN FASTCALL KiInsertTimerTable(IN PKTIMER Timer, IN ULONG Hand)
Definition: timerobj.c:63
#define PCHAR
Definition: match.c:90
KIRQL OldIrql
Definition: mm.h:1502
DECLSPEC_NORETURN VOID FASTCALL KiServiceExit(IN PKTRAP_FRAME TrapFrame, IN NTSTATUS Status)
Definition: traphdlr.c:150
#define MAXIMUM_PRIORITY
DWORD Interval
Definition: netstat.c:33
_Out_ PULONG UserTime
Definition: kefuncs.h:771
VOID(NTAPI * PKINTERRUPT_ROUTINE)(VOID)
Definition: ketypes.h:490
VOID NTAPI KeSetIntervalProfile(ULONG Interval, KPROFILE_SOURCE ProfileSource)
PULONG KiInterruptTemplateObject
Status
Definition: gdiplustypes.h:24
FAST_MUTEX
Definition: extypes.h:17
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:675
BOOLEAN NTAPI KeInvalidateAllCaches(VOID)
Definition: cpu.c:449
int64_t LONGLONG
Definition: typedefs.h:68
#define _Requires_lock_not_held_(a)
Definition: btrfs_drv.h:214
ULONG KiFreezeFlag
Definition: freeze.c:20
USHORT KeProcessorArchitecture
Definition: krnlinit.c:19
_In_ KPROCESSOR_MODE PreviousMode
Definition: sefuncs.h:103
int Count
Definition: noreturn.cpp:7
USHORT KeProcessorRevision
Definition: krnlinit.c:21
#define TIMER_TABLE_SIZE
Definition: ketypes.h:836
PCHAR(NTAPI * PKE_BUGCHECK_UNICODE_TO_ANSI)(IN PUNICODE_STRING Unicode, IN PCHAR Ansi, IN ULONG Length)
Definition: ke.h:87
LONGLONG TSCStart
Definition: ke.h:63
VOID NTAPI KiExpireTimers(PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
VOID FASTCALL KeZeroPages(IN PVOID Address, IN ULONG Size)
Definition: stubs.c:94
struct _DPC_QUEUE_ENTRY DPC_QUEUE_ENTRY
VOID NTAPI KeQueryValuesProcess(IN PKPROCESS Process, PPROCESS_VALUES Values)
Definition: procobj.c:525
char CCHAR
Definition: typedefs.h:51
uint64_t ULONGLONG
Definition: typedefs.h:67
struct _WOW64_PROCESS * PWOW64_PROCESS
BOOLEAN FASTCALL KiInsertTreeTimer(IN PKTIMER Timer, IN LARGE_INTEGER Interval)
Definition: timerobj.c:26
PKINTERRUPT_ROUTINE InterruptDispatch
Definition: ke.h:38
NTSTATUS NTAPI KiRaiseException(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT Context, IN PKEXCEPTION_FRAME ExceptionFrame, IN PKTRAP_FRAME TrapFrame, IN BOOLEAN SearchFrames)
Definition: except.c:89
PKNODE KeNodeBlock[1]
Definition: krnlinit.c:39
ULONG KiMinimumDpcRate
Definition: dpc.c:20
struct _DEFERRED_REVERSE_BARRIER * PDEFERRED_REVERSE_BARRIER
VOID FASTCALL KeReleaseQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN KIRQL OldIrql)
Definition: spinlock.c:154
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
Definition: halfuncs.h:170
GLuint address
Definition: glext.h:9393
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2652
BOOLEAN NTAPI KeAlertThread(IN PKTHREAD Thread, IN KPROCESSOR_MODE AlertMode)
Definition: thrdobj.c:185
struct _KI_SAMPLE_MAP * PKI_SAMPLE_MAP
DECLSPEC_NORETURN VOID FASTCALL KiSystemFatalException(IN ULONG ExceptionCode, IN PKTRAP_FRAME TrapFrame)
Definition: except.c:406
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
KSPIN_LOCK KiNmiCallbackListLock
Definition: bug.c:30
LIST_ENTRY KeBugcheckCallbackListHead
Definition: bug.c:18
PVOID KeUserExceptionDispatcher
Definition: ke.h:144
VOID FASTCALL KiInterruptDispatch(IN PKTRAP_FRAME TrapFrame, IN PKINTERRUPT Interrupt)
Definition: irqobj.c:197
KTIMER_TABLE_ENTRY KiTimerTableListHead[TIMER_TABLE_SIZE]
Definition: timerobj.c:17
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:651
unsigned char UCHAR
Definition: xmlstorage.h:181
enum _CONNECT_TYPE * PCONNECT_TYPE
char * PBOOLEAN
Definition: retypes.h:11
ULONG KeTimeIncrement
Definition: clock.c:22
VOID FASTCALL KiCompleteTimer(IN PKTIMER Timer, IN PKSPIN_LOCK_QUEUE LockQueue)
Definition: timerobj.c:167
NMI_CALLBACK * PNMI_CALLBACK
Definition: ketypes.h:338
Definition: ketypes.h:687
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:678
VOID FASTCALL KiAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: wait.c:107
VOID NTAPI KiSaveProcessorControlState(OUT PKPROCESSOR_STATE ProcessorState)
Definition: cpu.c:362
BOOLEAN KeThreadDpcEnable
Definition: dpc.c:23
LONGLONG TSCDelta
Definition: ke.h:65
VOID NTAPI KiAttachProcess(struct _KTHREAD *Thread, struct _KPROCESS *Process, PKLOCK_QUEUE_HANDLE ApcLock, struct _KAPC_STATE *SavedApcState)
Definition: btrfs_drv.h:1922
Definition: ketypes.h:535
KPRIORITY NTAPI KeSetPriorityAndQuantumProcess(IN PKPROCESS Process, IN KPRIORITY Priority, IN UCHAR Quantum OPTIONAL)
Definition: procobj.c:349
EX_PUSH_LOCK KernelAddressSpaceLock
BOOLEAN NTAPI KeStartProfile(struct _KPROFILE *Profile, PVOID Buffer)
Definition: typedefs.h:119
ULONG_PTR KiIdleSummary
Definition: thrdschd.c:25
DECLSPEC_NORETURN VOID FASTCALL KiCallbackReturn(IN PVOID Stack, IN NTSTATUS Status)
#define _Releases_exclusive_lock_(a)
Definition: btrfs_drv.h:209
VOID FASTCALL KiIpiSend(KAFFINITY TargetSet, ULONG IpiRequest)
ULONG TotalProcessors
Definition: ke.h:54
VOID(NTAPI * PKIPI_WORKER)(IN OUT PKIPI_CONTEXT PacketContext, IN PVOID Parameter1 OPTIONAL, IN PVOID Parameter2 OPTIONAL, IN PVOID Parameter3 OPTIONAL)
Definition: ketypes.h:576
KIRQL FASTCALL KeAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber)
Definition: spinlock.c:108
KEVENT KiSwapEvent
Definition: procobj.c:21
LONGLONG TSCEnd
Definition: ke.h:64
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
Definition: ntpoapi.h:204
VOID FASTCALL KiIpiSignalPacketDone(IN PKIPI_CONTEXT PacketContext)
Definition: ipi.c:55
KAFFINITY KeActiveProcessors
Definition: krnlinit.c:23
VOID NTAPI KeBalanceSetManager(IN PVOID Context)
Definition: balmgr.c:137
LIST_ENTRY KiProfileSourceListHead
Definition: profobj.c:19
VOID NTAPI KeInitializeProfile(struct _KPROFILE *Profile, struct _KPROCESS *Process, PVOID ImageBase, SIZE_T ImageSize, ULONG BucketSize, KPROFILE_SOURCE ProfileSource, KAFFINITY Affinity)
ULONG_PTR KiDoubleFaultStack
Definition: kiinit.c:35
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
NTSTATUS(NTAPI * PGDI_BATCHFLUSH_ROUTINE)(VOID)
Definition: pstypes.h:562
EPROCESS KiInitialProcess
Definition: krnlinit.c:45
UCHAR KeNumberNodes
Definition: krnlinit.c:40
VOID NTAPI KiSwapProcess(struct _KPROCESS *NewProcess, struct _KPROCESS *OldProcess)
Definition: stubs.c:139
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:675
ULONG_PTR SIZE_T
Definition: typedefs.h:80
ULONG KiMaximumDpcQueueDepth
Definition: dpc.c:19
* PFAST_MUTEX
Definition: extypes.h:17
VOID FASTCALL KiAcquireGuardedMutex(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: wait.c:122
ULONG NTAPI KeV86Exception(ULONG ExceptionNr, PKTRAP_FRAME Tf, ULONG address)
PKTHREAD FASTCALL KiIdleSchedule(IN PKPRCB Prcb)
Definition: thrdschd.c:32
VOID FASTCALL KeSignalGateBoostPriority(PKGATE Gate)
struct _PROCESS_VALUES * PPROCESS_VALUES
struct _KPROFILE_SOURCE_OBJECT * PKPROFILE_SOURCE_OBJECT
PKDEFERRED_ROUTINE Routine
Definition: ke.h:74
unsigned short USHORT
Definition: pedump.c:61
LONG_PTR FASTCALL KiSwapThread(IN PKTHREAD Thread, IN PKPRCB Prcb)
Definition: thrdschd.c:355
VOID FASTCALL KeWaitForGate(PKGATE Gate, KWAIT_REASON WaitReason, KPROCESSOR_MODE WaitMode)
ULONG_PTR KAFFINITY
Definition: compat.h:85
VOID NTAPI KeInitializeThread(IN PKPROCESS Process, IN OUT PKTHREAD Thread, IN PKSYSTEM_ROUTINE SystemRoutine, IN PKSTART_ROUTINE StartRoutine, IN PVOID StartContext, IN PCONTEXT Context, IN PVOID Teb, IN PVOID KernelStack)
Definition: thrdobj.c:900
ULONG NTAPI KeQueryRuntimeProcess(IN PKPROCESS Process, OUT PULONG UserTime)
Definition: procobj.c:860
PKPRCB KiProcessorBlock[]
Definition: krnlinit.c:32
VOID NTAPI KiMoveApcState(PKAPC_STATE OldState, PKAPC_STATE NewState)
Definition: apc.c:538
ETHREAD KiInitialThread
Definition: krnlinit.c:44
PVOID Context
Definition: ke.h:75
PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch
Definition: win32.c:20
LIST_ENTRY KeBugcheckReasonCallbackListHead
Definition: bug.c:19
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
LONG NTAPI KiInsertQueue(IN PKQUEUE Queue, IN PLIST_ENTRY Entry, BOOLEAN Head)
VOID NTAPI KiSuspendRundown(IN PKAPC Apc)
Definition: thrdobj.c:572
VOID NTAPI KiInitSpinLocks(IN PKPRCB Prcb, IN CCHAR Number)
Definition: krnlinit.c:187
BOOLEAN NTAPI KiHandleNmi(VOID)
Definition: bug.c:1162
_In_ ULONG Shift
Definition: rtlfuncs.h:2681
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
unsigned int * PULONG
Definition: retypes.h:1
VOID NTAPI KiSaveProcessorState(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
Definition: cpu.c:1147
struct _DISPATCH_INFO * PDISPATCH_INFO
LARGE_INTEGER TotalKernelTime
Definition: ke.h:46
struct _DPC_QUEUE_ENTRY * PDPC_QUEUE_ENTRY
VOID FASTCALL KiActivateWaiterQueue(IN PKQUEUE Queue)
Definition: queue.c:24
VOID NTAPI KiAddProfileEvent(KPROFILE_SOURCE Source, ULONG Pc)
VOID NTAPI KiSuspendThread(IN PVOID NormalContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
Definition: thrdobj.c:596
BOOLEAN NTAPI KeTestAlertThread(IN KPROCESSOR_MODE AlertMode)
Definition: thrdobj.c:731
DECLSPEC_NORETURN VOID NTAPI KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: kiinit.c:372
USHORT KeProcessorLevel
Definition: krnlinit.c:20
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
enum _KWAIT_REASON KWAIT_REASON
BOOLEAN NTAPI KeInitSystem(VOID)
Definition: krnlinit.c:293
PKINTERRUPT_ROUTINE * FlatDispatch
Definition: ke.h:41
#define OUT
Definition: typedefs.h:40
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:124
ULONG NTAPI KeForceResumeThread(IN PKTHREAD Thread)
Definition: thrdobj.c:276
ULONG MHz
Definition: ke.h:66
PULONG KiInterruptTemplate2ndDispatch
_In_ LARGE_INTEGER Divisor
Definition: rtlfuncs.h:3044
VOID NTAPI KeFreezeAllThreads(VOID)
Definition: thrdobj.c:315
unsigned int ULONG
Definition: retypes.h:1
VOID NTAPI KiIpiSendPacket(IN KAFFINITY TargetProcessors, IN PKIPI_WORKER WorkerFunction, IN PKIPI_BROADCAST_WORKER BroadcastFunction, IN ULONG_PTR Context, IN PULONG Count)
Definition: ipi.c:43
uint32_t * PULONG_PTR
Definition: typedefs.h:65
LARGE_INTEGER TotalUserTime
Definition: ke.h:47
struct _KNMI_HANDLER_CALLBACK * PKNMI_HANDLER_CALLBACK
LIST_ENTRY KiStackInSwapListHead
Definition: procobj.c:20
PVOID NTAPI KiRosPcToUserFileHeader(IN PVOID Eip, OUT PLDR_DATA_TABLE_ENTRY *LdrEntry)
Definition: bug.c:106
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3167
*LockHandle LockHandle _Out_ PKLOCK_QUEUE_HANDLE LockHandle
Definition: kefuncs.h:729
LIST_ENTRY KiProcessInSwapListHead
Definition: procobj.c:19
LIST_ENTRY KiProcessOutSwapListHead
Definition: procobj.c:19
VOID NTAPI KeSetQuantumProcess(IN PKPROCESS Process, IN UCHAR Quantum)
Definition: procobj.c:229
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:674
BOOLEAN ExCmosClockIsSane
Definition: init.c:90
VOID NTAPI KeSetSystemTime(IN PLARGE_INTEGER NewSystemTime, OUT PLARGE_INTEGER OldSystemTime, IN BOOLEAN FixInterruptTime, IN PLARGE_INTEGER HalTime)
Definition: clock.c:28
#define _Acquires_lock_(lock)
PKINTERRUPT_ROUTINE ChainedDispatch
Definition: ke.h:40
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG Increment
Definition: CrNtStubs.h:42
VOID FASTCALL KeInitializeGate(PKGATE Gate)
VOID NTAPI KeDumpStackFrames(PULONG Frame)
Definition: stubs.c:92
VOID NTAPI KiSetupStackAndInitializeKernel(IN PKPROCESS InitProcess, IN PKTHREAD InitThread, IN PVOID IdleStack, IN PKPRCB Prcb, IN CCHAR Number, IN PLOADER_PARAMETER_BLOCK LoaderBlock)
NTSTATUS NTAPI KiContinue(IN PCONTEXT Context, IN PKEXCEPTION_FRAME ExceptionFrame, IN PKTRAP_FRAME TrapFrame)
Definition: except.c:41
static CODE_SEG("PAGE")
Definition: isapnp.c:1482
VOID NTAPI KeInitializeEventPair(PKEVENT_PAIR EventPair)
LONG NTAPI KeQueryBasePriorityThread(IN PKTHREAD Thread)
Definition: thrdobj.c:61
struct _KI_SAMPLE_MAP KI_SAMPLE_MAP
base of all file and directory entries
Definition: entries.h:82
VOID NTAPI KiInitializeMachineType(VOID)
Definition: kiinit.c:309
VOID FASTCALL KiIpiSignalPacketDoneAndStall(IN PKIPI_CONTEXT PacketContext, IN volatile PULONG ReverseStall)
Definition: ipi.c:63
VOID FASTCALL KiRetireDpcList(IN PKPRCB Prcb)
Definition: dpc.c:562
KSPIN_LOCK BugCheckCallbackLock
Definition: bug.c:20
BOOLEAN FASTCALL KeInvalidAccessAllowed(IN PVOID TrapInformation OPTIONAL)
Definition: exp.c:801
#define _Requires_lock_held_(a)
Definition: btrfs_drv.h:206
* PKAPC_STATE
Definition: ketypes.h:1280
LIST_ENTRY KiProcessListHead
Definition: procobj.c:18
VOID NTAPI KeFlushCurrentTb(VOID)
Definition: cpu.c:312
BOOLEAN NTAPI KeDisableThreadApcQueueing(IN PKTHREAD Thread)
PKNMI_HANDLER_CALLBACK KiNmiCallbackListHead
Definition: bug.c:29
VOID FASTCALL KiProcessDeferredReadyList(IN PKPRCB Prcb)
Definition: thrdschd.c:41
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
VOID NTAPI KeUninitThread(IN PKTHREAD Thread)
Definition: thrdobj.c:926
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:675