ReactOS 0.4.15-dev-7958-gcd0bb1a
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
8extern "C"
9{
10#endif
11
12/* INTERNAL KERNEL TYPES ****************************************************/
13
14typedef struct _WOW64_PROCESS
15{
18
20{
24
25typedef enum _CONNECT_TYPE
26{
32
33typedef struct _DISPATCH_INFO
34{
43
44typedef struct _PROCESS_VALUES
45{
50
52{
56
57typedef struct _KI_SAMPLE_MAP
58{
68
69#define MAX_TIMER_DPCS 16
70
71typedef struct _DPC_QUEUE_ENTRY
72{
77
79{
85
86typedef PCHAR
88 IN PUNICODE_STRING Unicode,
89 IN PCHAR Ansi,
91);
92
106extern ULONG KeFeatureBits;
107extern KNODE KiNode0;
108extern PKNODE KeNodeBlock[1];
109extern UCHAR KeNumberNodes;
122extern ULONG KiIdealDpcRate;
127extern ULONG KiServiceLimit;
138extern KEVENT KiSwapEvent;
139extern PKPRCB KiProcessorBlock[];
148extern LONG KiTickOffset;
149extern ULONG KiFreezeFlag;
150extern ULONG KiDPCTimeout;
153extern ULONG ProcessCount;
155
156/* MACROS *************************************************************************/
157
158#define PRIORITY_MASK(Priority) (1UL << (Priority))
159
160/* Tells us if the Timer or Event is a Syncronization or Notification Object */
161#define TIMER_OR_EVENT_TYPE 0x7L
162
163/* One of the Reserved Wait Blocks, this one is for the Thread's Timer */
164#define TIMER_WAIT_BLOCK 0x3L
165
166/* INTERNAL KERNEL FUNCTIONS ************************************************/
167
168/* Finds a new thread to run */
173 IN PKPRCB Prcb
174);
175
176VOID
177NTAPI
180);
181
183NTAPI
186 IN BOOLEAN Disable
187);
188
190NTAPI
193 IN BOOLEAN Disable
194);
195
197NTAPI
201);
202
204NTAPI
208);
209
210VOID
211NTAPI
215);
216
217VOID
218NTAPI
220
221VOID
222NTAPI
224
225ULONG
226NTAPI
228
230NTAPI
232
236 IN KIRQL WaitIrql,
237 IN PKTHREAD CurrentThread
238);
239
240VOID
241NTAPI
243
244VOID
247
248VOID
251
255 IN PKPRCB Prcb
256);
257
258VOID
261 IN PKPRCB Prcb
262);
263
269);
270
274 IN PKPRCB Prcb
275);
276
281 IN ULONG Hand
282);
283
284VOID
287 IN PLIST_ENTRY ExpiredListHead,
289);
290
296);
297
298VOID
302 IN PKSPIN_LOCK_QUEUE LockQueue
303);
304
305CODE_SEG("INIT")
306VOID
307NTAPI
309 VOID
310);
311
312/* gmutex.c ********************************************************************/
313
314VOID
317 IN OUT PKGUARDED_MUTEX GuardedMutex
318);
319
320VOID
323 IN PFAST_MUTEX FastMutex
324);
325
326/* gate.c **********************************************************************/
327
328VOID
331
332VOID
335
336VOID
339 PKGATE Gate,
340 KWAIT_REASON WaitReason,
341 KPROCESSOR_MODE WaitMode
342);
343
344/* ipi.c ********************************************************************/
345
346VOID
349 KAFFINITY TargetSet,
350 ULONG IpiRequest
351);
352
353VOID
354NTAPI
356 IN KAFFINITY TargetProcessors,
357 IN PKIPI_WORKER WorkerFunction,
358 IN PKIPI_BROADCAST_WORKER BroadcastFunction,
361);
362
363VOID
366 IN PKIPI_CONTEXT PacketContext
367);
368
369VOID
372 IN PKIPI_CONTEXT PacketContext,
373 IN volatile PULONG ReverseStall
374);
375
376/* next file ***************************************************************/
377
378UCHAR
379NTAPI
383);
384
385VOID
386NTAPI
388
389VOID
390NTAPI
392 struct _KPROFILE* Profile,
394 PVOID ImageBase,
395 SIZE_T ImageSize,
396 ULONG BucketSize,
397 KPROFILE_SOURCE ProfileSource,
399);
400
402NTAPI
404 struct _KPROFILE* Profile,
406);
407
409NTAPI
411
412ULONG
413NTAPI
415
416VOID
417NTAPI
420 KPROFILE_SOURCE ProfileSource
421);
422
423VOID
424NTAPI
426 PKTRAP_FRAME TrapFrame,
427 KIRQL Irql
428);
429
430VOID
431NTAPI
433 PKDPC Dpc,
437);
438
439VOID
440NTAPI
444 IN PKSYSTEM_ROUTINE SystemRoutine,
446 IN PVOID StartContext,
448 IN PVOID Teb,
449 IN PVOID KernelStack
450);
451
452VOID
453NTAPI
456);
457
459NTAPI
462 IN PVOID KernelStack,
463 IN PKSYSTEM_ROUTINE SystemRoutine,
465 IN PVOID StartContext,
467 IN PVOID Teb,
469);
470
471VOID
472NTAPI
475 PKSYSTEM_ROUTINE SystemRoutine,
477 PVOID StartContext,
479);
480
481VOID
482NTAPI
485);
486
488NTAPI
491 IN KPROCESSOR_MODE AlertMode
492);
493
494ULONG
495NTAPI
498);
499
500ULONG
501NTAPI
504);
505
506PVOID
507NTAPI
509 IN PVOID StackBase,
510 IN PVOID StackLimit
511);
512
513VOID
514NTAPI
516
518NTAPI
520
521VOID
522NTAPI
524 IN PKAPC Apc
525);
526
527VOID
528NTAPI
530 IN PKAPC Apc,
531 IN PKNORMAL_ROUTINE *NormalRoutine,
532 IN PVOID *NormalContext,
535);
536
537VOID
538NTAPI
540 IN PVOID NormalContext,
543);
544
545LONG
546NTAPI
548
549VOID
554);
555
556VOID
560 IN LONG_PTR WaitStatus
561);
562
563VOID
564NTAPI
566
568NTAPI
570
571VOID
575 IN LONG_PTR WaitStatus,
577);
578
579VOID
580NTAPI
585 PULONG_PTR DirectoryTableBase,
587);
588
589VOID
590NTAPI
593 IN UCHAR Quantum
594);
595
597NTAPI
601 IN UCHAR Quantum OPTIONAL
602);
603
604ULONG
605NTAPI
607
608VOID
609NTAPI
611 VOID
612);
613
614VOID
615NTAPI
617 VOID
618);
619
621NTAPI
623
624VOID
629);
630
631VOID
632NTAPI
635 PKEXCEPTION_FRAME ExeptionFrame,
636 PKTRAP_FRAME TrapFrame,
637 ULONG ContextFlags,
639);
640
641VOID
642NTAPI
644
645VOID
646NTAPI
648
649LONG
650NTAPI
654 BOOLEAN Head
655);
656
657VOID
658NTAPI
660 IN PKDPC Dpc,
664);
665
666ULONG
667NTAPI
671 BOOLEAN InWait
672);
673
674VOID
675NTAPI
677
678VOID
679NTAPI
682 IN PKTRAP_FRAME TrapFrame,
683 IN PKNORMAL_ROUTINE NormalRoutine,
684 IN PVOID NormalContext,
687);
688
690NTAPI
694);
695
696VOID
697NTAPI
701 PKLOCK_QUEUE_HANDLE ApcLock,
702 struct _KAPC_STATE *SavedApcState
703);
704
705VOID
706NTAPI
708 struct _KPROCESS *NewProcess,
709 struct _KPROCESS *OldProcess
710);
711
713NTAPI
715
717NTAPI
719
720VOID
723
724ULONG
725NTAPI
728
729VOID
730NTAPI
732 PPROCESS_VALUES Values);
733
734/* INITIALIZATION FUNCTIONS *************************************************/
735
736CODE_SEG("INIT")
738NTAPI
740
741CODE_SEG("INIT")
742VOID
743NTAPI
745
746VOID
747NTAPI
749
750CODE_SEG("INIT")
751VOID
752NTAPI
754
756CODE_SEG("INIT")
757VOID
758NTAPI
760 IN PLOADER_PARAMETER_BLOCK LoaderBlock
761);
762
764NTAPI
766
767VOID
768NTAPI
770 PKAPC_STATE OldState,
771 PKAPC_STATE NewState
772);
773
774VOID
775NTAPI
778 ULONG Pc
779);
780
781VOID
782NTAPI
784 PEXCEPTION_RECORD ExceptionRecord,
785 PKEXCEPTION_FRAME ExceptionFrame,
786 PKTRAP_FRAME Tf,
788 BOOLEAN SearchFrames
789);
790
791VOID
792NTAPI
794 IN PKTRAP_FRAME TrapFrame,
795 IN PKEXCEPTION_FRAME ExceptionFrame,
797);
798
800VOID
801NTAPI
803 ULONG BugCheckCode,
804 ULONG_PTR BugCheckParameter1,
805 ULONG_PTR BugCheckParameter2,
806 ULONG_PTR BugCheckParameter3,
807 ULONG_PTR BugCheckParameter4,
808 PKTRAP_FRAME Tf
809);
810
812NTAPI
814
815VOID
816NTAPI
818
820NTAPI
822
823VOID
826 IN ULONG Size);
827
830KeInvalidAccessAllowed(IN PVOID TrapInformation OPTIONAL);
831
832VOID
833NTAPI
835 PULONG_PTR Frame,
836 ULONG FrameCount
837);
838
839VOID
840NTAPI
842 IN PLARGE_INTEGER NewSystemTime,
843 OUT PLARGE_INTEGER OldSystemTime,
844 IN BOOLEAN FixInterruptTime,
845 IN PLARGE_INTEGER HalTime
846);
847
848ULONG
849NTAPI
851 ULONG ExceptionNr,
852 PKTRAP_FRAME Tf,
854);
855
856VOID
857NTAPI
859 VOID
860);
861
862VOID
863NTAPI
865 VOID
866);
867
869NTAPI
871 IN PEXCEPTION_RECORD ExceptionRecord,
873 IN PKEXCEPTION_FRAME ExceptionFrame,
874 IN PKTRAP_FRAME TrapFrame,
875 IN BOOLEAN SearchFrames
876);
877
879NTAPI
882 IN PKEXCEPTION_FRAME ExceptionFrame,
883 IN PKTRAP_FRAME TrapFrame
884);
885
887VOID
890 IN PKTRAP_FRAME TrapFrame,
892);
893
895VOID
898 IN PKTRAP_FRAME TrapFrame
899);
900
901#ifndef _M_AMD64
902VOID
905 IN PKTRAP_FRAME TrapFrame,
907);
908#endif
909
910VOID
913 IN PKTRAP_FRAME TrapFrame,
915);
916
917CODE_SEG("INIT")
918VOID
919NTAPI
921 VOID
922);
923
924VOID
925NTAPI
927 IN PKPROCESS InitProcess,
928 IN PKTHREAD InitThread,
929 IN PVOID IdleStack,
930 IN PKPRCB Prcb,
932 IN PLOADER_PARAMETER_BLOCK LoaderBlock
933);
934
935CODE_SEG("INIT")
936VOID
937NTAPI
939 IN PKPRCB Prcb,
941);
942
943CODE_SEG("INIT")
945NTAPI
949);
950
951CODE_SEG("INIT")
952VOID
953NTAPI
955 VOID
956);
957
958VOID
961 IN PKAPC Apc,
963);
964
966NTAPI
969 IN PULONG OutputLength
970);
971
973VOID
976 IN PVOID Stack,
978);
979
980CODE_SEG("INIT")
981VOID
982NTAPI
984
985VOID
986NTAPI
988 VOID);
989
990VOID
991NTAPI
993 VOID);
994
996NTAPI
998 IN PKEXCEPTION_FRAME ExceptionFrame);
999
1000VOID
1001NTAPI
1003
1005NTAPI
1007 _In_ ULONG ProcessorIndex);
1008
1012VOID
1014KeAcquireQueuedSpinLockAtDpcLevel(
1015 _Inout_ PKSPIN_LOCK_QUEUE LockQueue
1016);
1017
1021VOID
1023KeReleaseQueuedSpinLockFromDpcLevel(
1024 _Inout_ PKSPIN_LOCK_QUEUE LockQueue
1025);
1026
1027VOID
1028NTAPI
1030 IN PKPROCESSOR_STATE ProcessorState
1031);
1032
1033VOID
1034NTAPI
1036 OUT PKPROCESSOR_STATE ProcessorState
1037);
1038
1039VOID
1040NTAPI
1042 _In_ PKTRAP_FRAME TrapFrame,
1043 _In_ PKEXCEPTION_FRAME ExceptionFrame);
1044
1045VOID
1046NTAPI
1048 _Out_ PKTRAP_FRAME TrapFrame,
1049 _Out_ PKEXCEPTION_FRAME ExceptionFrame);
1050
1051VOID
1054 IN PKPRCB Prcb
1055);
1056
1057VOID
1058NTAPI
1060 VOID
1061);
1062
1064VOID
1066 VOID
1067);
1068
1070VOID
1074 IN PKTRAP_FRAME TrapFrame
1075);
1076
1077PVOID
1078NTAPI
1080 OUT PLDR_DATA_TABLE_ENTRY *LdrEntry,
1081 IN BOOLEAN DriversOnly,
1082 OUT PBOOLEAN InKernel);
1083
1084PVOID
1085NTAPI
1087 OUT PLDR_DATA_TABLE_ENTRY *LdrEntry);
1088
1089PCHAR
1090NTAPI
1092 IN PUNICODE_STRING Unicode,
1093 OUT PCHAR Ansi,
1095);
1096
1097#ifdef __cplusplus
1098} // extern "C"
1099
1100namespace ntoskrnl
1101{
1102
1103/* Like std::lock_guard, but for a Queued Spinlock */
1104template <KSPIN_LOCK_QUEUE_NUMBER n>
1105class KiQueuedSpinLockGuard
1106{
1107private:
1108 KIRQL m_OldIrql;
1109public:
1110
1114 explicit KiQueuedSpinLockGuard()
1115 {
1116 m_OldIrql = KeAcquireQueuedSpinLock(n);
1117 }
1118
1121 ~KiQueuedSpinLockGuard()
1122 {
1123 KeReleaseQueuedSpinLock(n, m_OldIrql);
1124 }
1125
1126private:
1127 KiQueuedSpinLockGuard(KiQueuedSpinLockGuard const&) = delete;
1128 KiQueuedSpinLockGuard& operator=(KiQueuedSpinLockGuard const&) = delete;
1129};
1130
1131}
1132
1133#endif
1134
1135#include "ke_x.h"
#define CODE_SEG(...)
unsigned char BOOLEAN
#define __cdecl
Definition: accygwin.h:79
LONG NTSTATUS
Definition: precomp.h:26
_Inout_ PIRP _In_ NTSTATUS ExceptionCode
Definition: cdprocs.h:1774
Definition: bufpool.h:45
#define _Releases_exclusive_lock_(lock)
#define _Acquires_lock_(lock)
#define _Requires_lock_held_(lock)
#define _Acquires_nonreentrant_lock_(lock)
#define _Acquires_exclusive_lock_(lock)
#define _Requires_lock_not_held_(lock)
#define _Releases_lock_(lock)
#define _Releases_nonreentrant_lock_(lock)
_Out_ PKIRQL Irql
Definition: csq.h:179
ULONG_PTR KAFFINITY
Definition: compat.h:85
LONG KPRIORITY
Definition: compat.h:803
#define _IRQL_requires_min_(irql)
Definition: driverspecs.h:231
#define _IRQL_raises_(irql)
Definition: driverspecs.h:228
UCHAR KIRQL
Definition: env_spec_w32.h:591
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
IN OUT PLONG IN OUT PLONG Addend IN OUT PLONG IN LONG Increment
Definition: CrNtStubs.h:46
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:223
#define KeRosDumpStackFrames(Frames, Count)
Definition: gdidebug.h:11
Status
Definition: gdiplustypes.h:25
GLdouble n
Definition: glext.h:7729
GLuint address
Definition: glext.h:9393
VOID FASTCALL KeReleaseQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber, IN KIRQL OldIrql)
Definition: spinlock.c:154
KIRQL FASTCALL KeAcquireQueuedSpinLock(IN KSPIN_LOCK_QUEUE_NUMBER LockNumber)
Definition: spinlock.c:108
NTSTATUS(NTAPI * PGDI_BATCHFLUSH_ROUTINE)(VOID)
Definition: pstypes.h:562
enum _KPROFILE_SOURCE KPROFILE_SOURCE
#define PCHAR
Definition: match.c:90
#define _Inout_
Definition: ms_sal.h:378
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
VOID(NTAPI * PKSYSTEM_ROUTINE)(PKSTART_ROUTINE StartRoutine, PVOID StartContext)
Definition: ketypes.h:737
enum _KCONTINUE_STATUS KCONTINUE_STATUS
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:744
DWORD Interval
Definition: netstat.c:30
int Count
Definition: noreturn.cpp:7
#define FASTCALL
Definition: nt_native.h:50
#define DECLSPEC_NORETURN
Definition: ntbasedef.h:176
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
#define KiServiceExit2
Definition: ke.h:5
VOID NTAPI KeSetIntervalProfile(ULONG Interval, KPROFILE_SOURCE ProfileSource)
VOID NTAPI KeInitInterrupts(VOID)
struct _DPC_QUEUE_ENTRY DPC_QUEUE_ENTRY
KTIMER_TABLE_ENTRY KiTimerTableListHead[TIMER_TABLE_SIZE]
Definition: timerobj.c:17
UCHAR NTAPI KeFindNextRightSetAffinity(IN UCHAR Number, IN KAFFINITY Set)
Definition: thrdobj.c:22
PVOID NTAPI KiRosPcToUserFileHeader(IN PVOID Eip, OUT PLDR_DATA_TABLE_ENTRY *LdrEntry)
Definition: bug.c:109
BOOLEAN KiTimeAdjustmentEnabled
Definition: time.c:19
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:756
struct _PROCESS_VALUES * PPROCESS_VALUES
LIST_ENTRY KeBugcheckCallbackListHead
Definition: bug.c:22
LIST_ENTRY KiProcessOutSwapListHead
Definition: ke.h:136
VOID NTAPI KiInitializeMachineType(VOID)
Definition: kiinit.c:309
LONG KiTickOffset
Definition: time.c:17
VOID FASTCALL KeWaitForGate(PKGATE Gate, KWAIT_REASON WaitReason, KPROCESSOR_MODE WaitMode)
LARGE_INTEGER KiTimeIncrementReciprocal
Definition: timerobj.c:18
FAST_MUTEX KiGenericCallDpcMutex
Definition: dpc.c:24
NTSTATUS NTAPI KeReleaseThread(PKTHREAD Thread)
KEVENT KiSwapEvent
Definition: procobj.c:21
VOID NTAPI KiReadyThread(IN PKTHREAD Thread)
Definition: thrdschd.c:429
PVOID NTAPI KiPcToFileHeader(IN PVOID Eip, OUT PLDR_DATA_TABLE_ENTRY *LdrEntry, IN BOOLEAN DriversOnly, OUT PBOOLEAN InKernel)
Definition: bug.c:44
EPROCESS KiInitialProcess
Definition: krnlinit.c:45
PULONG KiInterruptTemplateObject
DECLSPEC_NORETURN VOID NTAPI KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: kiinit.c:476
EX_PUSH_LOCK KernelAddressSpaceLock
struct _DEFERRED_REVERSE_BARRIER * PDEFERRED_REVERSE_BARRIER
VOID NTAPI KeSetSystemTime(IN PLARGE_INTEGER NewSystemTime, OUT PLARGE_INTEGER OldSystemTime, IN BOOLEAN FixInterruptTime, IN PLARGE_INTEGER HalTime)
Definition: clock.c:28
DECLSPEC_NORETURN VOID FASTCALL KiCallbackReturn(IN PVOID Stack, IN NTSTATUS Status)
VOID NTAPI KiSuspendNop(IN PKAPC Apc, IN PKNORMAL_ROUTINE *NormalRoutine, IN PVOID *NormalContext, IN PVOID *SystemArgument1, IN PVOID *SystemArgument2)
Definition: thrdobj.c:571
ULONG KiAdjustDpcThreshold
Definition: dpc.c:21
DECLSPEC_NORETURN VOID NTAPI KeBugCheckWithTf(ULONG BugCheckCode, ULONG_PTR BugCheckParameter1, ULONG_PTR BugCheckParameter2, ULONG_PTR BugCheckParameter3, ULONG_PTR BugCheckParameter4, PKTRAP_FRAME Tf)
struct _KNMI_HANDLER_CALLBACK KNMI_HANDLER_CALLBACK
ULONG KeTimeAdjustment
Definition: time.c:18
ULONG NTAPI KeForceResumeThread(IN PKTHREAD Thread)
Definition: thrdobj.c:267
PKPRCB KiProcessorBlock[]
Definition: krnlinit.c:32
PKNMI_HANDLER_CALLBACK KiNmiCallbackListHead
Definition: bug.c:33
VOID NTAPI KeFreezeAllThreads(VOID)
Definition: thrdobj.c:306
enum _CONNECT_TYPE * PCONNECT_TYPE
PKTHREAD FASTCALL KiIdleSchedule(IN PKPRCB Prcb)
Definition: thrdschd.c:32
BOOLEAN FASTCALL KiSwapContext(IN KIRQL WaitIrql, IN PKTHREAD CurrentThread)
BOOLEAN NTAPI KeRemoveQueueApc(PKAPC Apc)
VOID NTAPI KeFlushCurrentTb(VOID)
Definition: cpu.c:526
VOID NTAPI KiInitializeBugCheck(VOID)
Definition: bug.c:300
BOOLEAN NTAPI KeStopProfile(struct _KPROFILE *Profile)
ULONG KiTimeLimitIsrMicroseconds
Definition: dpc.c:26
BOOLEAN ExCmosClockIsSane
Definition: init.c:93
ULONG KiMaximumDpcQueueDepth
Definition: dpc.c:19
ULONGLONG BootCyclesEnd
Definition: ke.h:152
BOOLEAN KeThreadDpcEnable
Definition: dpc.c:23
struct _DPC_QUEUE_ENTRY * PDPC_QUEUE_ENTRY
VOID NTAPI KxThawExecution(VOID)
Definition: freeze.c:141
struct _KPROFILE_SOURCE_OBJECT KPROFILE_SOURCE_OBJECT
VOID __cdecl KiInterruptTemplate(VOID)
LONG NTAPI KeQueryBasePriorityThread(IN PKTHREAD Thread)
Definition: thrdobj.c:52
VOID NTAPI KeTrapFrameToContext(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame, IN OUT PCONTEXT Context)
Definition: context.c:169
ULONG NTAPI KeQueryIntervalProfile(KPROFILE_SOURCE ProfileSource)
BOOLEAN FASTCALL KeInvalidAccessAllowed(IN PVOID TrapInformation OPTIONAL)
Definition: exp.c:756
VOID FASTCALL KiAcquireFastMutex(IN PFAST_MUTEX FastMutex)
Definition: wait.c:107
KAFFINITY KiIdleSummary
Definition: thrdschd.c:25
VOID FASTCALL KiCompleteTimer(IN PKTIMER Timer, IN PKSPIN_LOCK_QUEUE LockQueue)
Definition: timerobj.c:167
VOID FASTCALL KiAcquireGuardedMutex(IN OUT PKGUARDED_MUTEX GuardedMutex)
Definition: wait.c:122
VOID NTAPI KeUninitThread(IN PKTHREAD Thread)
Definition: thrdobj.c:917
VOID NTAPI KeBalanceSetManager(IN PVOID Context)
Definition: balmgr.c:137
VOID NTAPI KeThawAllThreads(VOID)
Definition: thrdobj.c:660
ULONGLONG KeBootTimeBias
Definition: clock.c:18
VOID NTAPI KiAdjustQuantumThread(IN PKTHREAD Thread)
Definition: thrdschd.c:461
PCHAR NTAPI KeBugCheckUnicodeToAnsi(IN PUNICODE_STRING Unicode, OUT PCHAR Ansi, IN ULONG Length)
Definition: bug.c:518
BOOLEAN NTAPI KeInitSystem(VOID)
Definition: krnlinit.c:296
struct _WOW64_PROCESS * PWOW64_PROCESS
VOID NTAPI KeInitializeEventPair(PKEVENT_PAIR EventPair)
ULONG NTAPI KeQueryRuntimeProcess(IN PKPROCESS Process, OUT PULONG UserTime)
Definition: procobj.c:860
ETHREAD KiInitialThread
Definition: krnlinit.c:44
ULONG NTAPI KeSuspendThread(PKTHREAD Thread)
Definition: thrdobj.c:601
BOOLEAN NTAPI KiDeliverUserApc(PKTRAP_FRAME TrapFrame)
LONG_PTR FASTCALL KiSwapThread(IN PKTHREAD Thread, IN PKPRCB Prcb)
Definition: thrdschd.c:355
VOID NTAPI KiAddProfileEvent(KPROFILE_SOURCE Source, ULONG Pc)
VOID NTAPI KiRestoreProcessorControlState(IN PKPROCESSOR_STATE ProcessorState)
_CONNECT_TYPE
Definition: ke.h:26
@ ChainConnect
Definition: ke.h:29
@ NoConnect
Definition: ke.h:27
@ NormalConnect
Definition: ke.h:28
@ UnknownConnect
Definition: ke.h:30
VOID NTAPI KiStartUnexpectedRange(VOID)
PVOID KeRaiseUserExceptionDispatcher
Definition: ke.h:144
KAFFINITY NTAPI KeSetAffinityProcess(IN PKPROCESS Process, IN KAFFINITY Affinity)
Definition: procobj.c:265
VOID NTAPI KiSetupStackAndInitializeKernel(IN PKPROCESS InitProcess, IN PKTHREAD InitThread, IN PVOID IdleStack, IN PKPRCB Prcb, IN CCHAR Number, IN PLOADER_PARAMETER_BLOCK LoaderBlock)
VOID FASTCALL KiIpiSignalPacketDoneAndStall(IN PKIPI_CONTEXT PacketContext, IN volatile PULONG ReverseStall)
Definition: ipi.c:65
ULONG NTAPI KeResumeThread(IN PKTHREAD Thread)
Definition: thrdobj.c:388
KCONTINUE_STATUS NTAPI KxSwitchKdProcessor(_In_ ULONG ProcessorIndex)
Definition: freeze.c:184
KSPIN_LOCK KiNmiCallbackListLock
Definition: bug.c:34
KDPC KiTimerExpireDpc
Definition: dpc.c:25
VOID NTAPI KiCheckForKernelApcDelivery(VOID)
Definition: apc.c:36
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:891
KAFFINITY KeActiveProcessors
Definition: krnlinit.c:23
BOOLEAN NTAPI KeInvalidateAllCaches(VOID)
Definition: cpu.c:698
ULONG KeFeatureBits
Definition: krnlinit.c:22
VOID FASTCALL KiIpiSignalPacketDone(IN PKIPI_CONTEXT PacketContext)
Definition: ipi.c:57
VOID NTAPI Ke386SetIOPL(VOID)
Definition: v86vdm.c:581
KAFFINITY FASTCALL KiSetAffinityThread(IN PKTHREAD Thread, IN KAFFINITY Affinity)
Definition: thrdschd.c:685
VOID FASTCALL KiProcessDeferredReadyList(IN PKPRCB Prcb)
Definition: thrdschd.c:41
UCHAR KeProcessNodeSeed
Definition: krnlinit.c:41
VOID NTAPI KeQueryValuesProcess(IN PKPROCESS Process, PPROCESS_VALUES Values)
Definition: procobj.c:525
struct _PROCESS_VALUES PROCESS_VALUES
BOOLEAN NTAPI KeSetDisableBoostProcess(IN PKPROCESS Process, IN BOOLEAN Disable)
Definition: procobj.c:331
VOID NTAPI KeInitExceptions(VOID)
Definition: except.c:59
struct _KNMI_HANDLER_CALLBACK * PKNMI_HANDLER_CALLBACK
enum _CONNECT_TYPE CONNECT_TYPE
NTSTATUS NTAPI KiRaiseException(IN PEXCEPTION_RECORD ExceptionRecord, IN PCONTEXT Context, IN PKEXCEPTION_FRAME ExceptionFrame, IN PKTRAP_FRAME TrapFrame, IN BOOLEAN SearchFrames)
Definition: except.c:97
BOOLEAN NTAPI KiTestAlert(VOID)
UCHAR KiTimeIncrementShiftCount
Definition: timerobj.c:19
VOID NTAPI KeInitializeProfile(struct _KPROFILE *Profile, struct _KPROCESS *Process, PVOID ImageBase, SIZE_T ImageSize, ULONG BucketSize, KPROFILE_SOURCE ProfileSource, KAFFINITY Affinity)
ULONG KiFreezeFlag
Definition: freeze.c:20
BOOLEAN FASTCALL KiInsertTimerTable(IN PKTIMER Timer, IN ULONG Hand)
Definition: timerobj.c:63
VOID NTAPI KeDumpStackFrames(PULONG Frame)
BOOLEAN NTAPI KeFreezeExecution(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
Definition: freeze.c:26
VOID FASTCALL KiDeferredReadyThread(IN PKTHREAD Thread)
Definition: thrdschd.c:79
VOID FASTCALL KiIpiSend(KAFFINITY TargetSet, ULONG IpiRequest)
VOID NTAPI KiQuantumEnd(VOID)
VOID NTAPI KiEndUnexpectedRange(VOID)
VOID FASTCALL KeSignalGateBoostPriority(PKGATE Gate)
USHORT KeProcessorLevel
Definition: krnlinit.c:20
VOID FASTCALL KiTimerListExpire(IN PLIST_ENTRY ExpiredListHead, IN KIRQL OldIrql)
Definition: dpc.c:338
VOID NTAPI KeStartAllProcessors(VOID)
Definition: mproc.c:20
KSPIN_LOCK BugCheckCallbackLock
Definition: bug.c:24
VOID NTAPI KiInitMachineDependent(VOID)
Definition: kiinit.c:48
ULONG KiMinimumDpcRate
Definition: dpc.c:20
DECLSPEC_NORETURN VOID KiIdleLoop(VOID)
Definition: stubs.c:99
VOID NTAPI KiInitSystem(VOID)
Definition: krnlinit.c:71
LIST_ENTRY KiProfileListHead
Definition: profobj.c:18
VOID NTAPI KiSaveProcessorState(_In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame)
Definition: cpu.c:617
BOOLEAN NTAPI KeSetDisableBoostThread(IN OUT PKTHREAD Thread, IN BOOLEAN Disable)
Definition: thrdobj.c:86
VOID FASTCALL KiChainedDispatch(IN PKTRAP_FRAME TrapFrame, IN PKINTERRUPT Interrupt)
Definition: irqobj.c:231
ULONG NTAPI KeSetProcess(struct _KPROCESS *Process, KPRIORITY Increment, BOOLEAN InWait)
PVOID KeUserExceptionDispatcher
Definition: ke.h:143
VOID NTAPI KeSetQuantumProcess(IN PKPROCESS Process, IN UCHAR Quantum)
Definition: procobj.c:229
PKNODE KeNodeBlock[1]
Definition: krnlinit.c:39
struct _KI_SAMPLE_MAP * PKI_SAMPLE_MAP
BOOLEAN NTAPI KeAlertThread(IN PKTHREAD Thread, IN KPROCESSOR_MODE AlertMode)
Definition: thrdobj.c:176
PLIST_ENTRY NTAPI KeFlushQueueApc(IN PKTHREAD Thread, IN KPROCESSOR_MODE PreviousMode)
Definition: apc.c:793
VOID NTAPI KiExpireTimers(PKDPC Dpc, PVOID DeferredContext, PVOID SystemArgument1, PVOID SystemArgument2)
VOID FASTCALL KeInitializeGate(PKGATE Gate)
LARGE_INTEGER NTAPI KiComputeReciprocal(IN LONG Divisor, OUT PUCHAR Shift)
Definition: krnlinit.c:123
BOOLEAN NTAPI KiHandleNmi(VOID)
Definition: bug.c:1165
VOID FASTCALL KiUnwaitThread(IN PKTHREAD Thread, IN LONG_PTR WaitStatus, IN KPRIORITY Increment)
Definition: wait.c:89
LIST_ENTRY KiProcessInSwapListHead
Definition: procobj.c:19
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:45
ULONG KiDPCTimeout
Definition: dpc.c:27
VOID NTAPI KiInitializeContextThread(PKTHREAD Thread, PKSYSTEM_ROUTINE SystemRoutine, PKSTART_ROUTINE StartRoutine, PVOID StartContext, PCONTEXT Context)
VOID NTAPI KxFreezeExecution(VOID)
Definition: freeze.c:78
BOOLEAN FASTCALL KiInsertTreeTimer(IN PKTIMER Timer, IN LARGE_INTEGER Interval)
Definition: timerobj.c:26
ULONG KiServiceLimit
Definition: krnlinit.c:26
PCHAR(NTAPI * PKE_BUGCHECK_UNICODE_TO_ANSI)(IN PUNICODE_STRING Unicode, IN PCHAR Ansi, IN ULONG Length)
Definition: ke.h:87
PULONG KiInterruptTemplateDispatch
VOID NTAPI KiSuspendRundown(IN PKAPC Apc)
Definition: thrdobj.c:563
struct _WOW64_PROCESS WOW64_PROCESS
ULONG_PTR KiDoubleFaultStack
Definition: kiinit.c:22
VOID NTAPI DbgBreakPointNoBugCheck(VOID)
BOOLEAN NTAPI KeTestAlertThread(IN KPROCESSOR_MODE AlertMode)
Definition: thrdobj.c:722
VOID NTAPI KiSaveProcessorControlState(OUT PKPROCESSOR_STATE ProcessorState)
Definition: cpu.c:576
KSPIN_LOCK KiProfileLock
Definition: profobj.c:20
NTSTATUS NTAPI KiContinue(IN PCONTEXT Context, IN PKEXCEPTION_FRAME ExceptionFrame, IN PKTRAP_FRAME TrapFrame)
Definition: except.c:45
ULONG KeTimeIncrement
Definition: clock.c:22
BOOLEAN NTAPI KeStartProfile(struct _KPROFILE *Profile, PVOID Buffer)
ULONG KiIdealDpcRate
Definition: dpc.c:22
struct _KPROFILE_SOURCE_OBJECT * PKPROFILE_SOURCE_OBJECT
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
PKTHREAD FASTCALL KiSelectNextThread(IN PKPRCB Prcb)
Definition: thrdschd.c:328
struct _DISPATCH_INFO DISPATCH_INFO
VOID FASTCALL KiActivateWaiterQueue(IN PKQUEUE Queue)
Definition: queue.c:24
VOID FASTCALL KiInsertQueueApc(IN PKAPC Apc, IN KPRIORITY PriorityBoost)
Definition: apc.c:85
LIST_ENTRY KiStackInSwapListHead
Definition: procobj.c:20
PVOID NTAPI KeSwitchKernelStack(IN PVOID StackBase, IN PVOID StackLimit)
VOID NTAPI KeRundownThread(VOID)
Definition: thrdobj.c:430
BOOLEAN NTAPI KeDisableThreadApcQueueing(IN PKTHREAD Thread)
PVOID KeUserCallbackDispatcher
Definition: ke.h:142
ULONG KiUnexpectedEntrySize
ULONG ProcessCount
Definition: perfdata.c:22
VOID NTAPI KeInitializeProcess(struct _KPROCESS *Process, KPRIORITY Priority, KAFFINITY Affinity, PULONG_PTR DirectoryTableBase, IN BOOLEAN Enable)
VOID NTAPI KeStartThread(IN OUT PKTHREAD Thread)
Definition: thrdobj.c:489
LARGE_INTEGER KeBootTime
Definition: clock.c:17
VOID NTAPI KeReadyThread(IN PKTHREAD Thread)
Definition: thrdobj.c:106
UCHAR KeNumberNodes
Definition: krnlinit.c:40
VOID FASTCALL KiSetPriorityThread(IN PKTHREAD Thread, IN KPRIORITY Priority)
Definition: thrdschd.c:511
ULONG NTAPI KeAlertResumeThread(IN PKTHREAD Thread)
Definition: thrdobj.c:124
VOID NTAPI KiRestoreProcessorState(_Out_ PKTRAP_FRAME TrapFrame, _Out_ PKEXCEPTION_FRAME ExceptionFrame)
Definition: cpu.c:633
VOID NTAPI KeContextToTrapFrame(PCONTEXT Context, PKEXCEPTION_FRAME ExeptionFrame, PKTRAP_FRAME TrapFrame, ULONG ContextFlags, KPROCESSOR_MODE PreviousMode)
ULONGLONG BootCycles
Definition: kiinit.c:37
PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch
Definition: win32.c:20
BOOLEAN NTAPI KeReadStateThread(IN PKTHREAD Thread)
Definition: thrdobj.c:42
USHORT KeProcessorRevision
Definition: krnlinit.c:21
VOID FASTCALL KiUnlinkThread(IN PKTHREAD Thread, IN LONG_PTR WaitStatus)
Definition: wait.c:55
struct _DISPATCH_INFO * PDISPATCH_INFO
VOID NTAPI KiInitSpinLocks(IN PKPRCB Prcb, IN CCHAR Number)
Definition: krnlinit.c:187
BOOLEAN NTAPI KeSetAutoAlignmentProcess(IN PKPROCESS Process, IN BOOLEAN Enable)
Definition: procobj.c:313
VOID NTAPI KeBoostPriorityThread(IN PKTHREAD Thread, IN KPRIORITY Increment)
Definition: thrdobj.c:220
NTSTATUS NTAPI KiCallUserMode(IN PVOID *OutputBuffer, IN PULONG OutputLength)
Definition: usercall.c:321
LIST_ENTRY KiProcessListHead
Definition: procobj.c:18
LIST_ENTRY KeBugcheckReasonCallbackListHead
Definition: ke.h:128
LONG NTAPI KiInsertQueue(IN PKQUEUE Queue, IN PLIST_ENTRY Entry, BOOLEAN Head)
VOID NTAPI KeThawExecution(IN BOOLEAN Enable)
Definition: freeze.c:65
VOID NTAPI KiDispatchException(PEXCEPTION_RECORD ExceptionRecord, PKEXCEPTION_FRAME ExceptionFrame, PKTRAP_FRAME Tf, KPROCESSOR_MODE PreviousMode, BOOLEAN SearchFrames)
struct _DEFERRED_REVERSE_BARRIER DEFERRED_REVERSE_BARRIER
struct _KI_SAMPLE_MAP KI_SAMPLE_MAP
PVOID KeUserApcDispatcher
Definition: ke.h:141
VOID NTAPI KiMoveApcState(PKAPC_STATE OldState, PKAPC_STATE NewState)
Definition: apc.c:538
VOID NTAPI KiSwapProcess(struct _KPROCESS *NewProcess, struct _KPROCESS *OldProcess)
KPRIORITY NTAPI KeSetPriorityAndQuantumProcess(IN PKPROCESS Process, IN KPRIORITY Priority, IN UCHAR Quantum OPTIONAL)
Definition: procobj.c:349
DECLSPEC_NORETURN VOID FASTCALL KiServiceExit(IN PKTRAP_FRAME TrapFrame, IN NTSTATUS Status)
Definition: traphdlr.c:150
LIST_ENTRY KiProfileSourceListHead
Definition: ke.h:133
PULONG KiInterruptTemplate2ndDispatch
DECLSPEC_NORETURN VOID FASTCALL KiSystemFatalException(IN ULONG ExceptionCode, IN PKTRAP_FRAME TrapFrame)
Definition: except.c:422
VOID FASTCALL KiWaitTest(PVOID Object, KPRIORITY Increment)
ULONG NTAPI KeV86Exception(ULONG ExceptionNr, PKTRAP_FRAME Tf, ULONG address)
VOID NTAPI KiTimerExpiration(IN PKDPC Dpc, IN PVOID DeferredContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
Definition: dpc.c:79
VOID NTAPI KeUpdateRunTime(PKTRAP_FRAME TrapFrame, KIRQL Irql)
VOID NTAPI KiAttachProcess(struct _KTHREAD *Thread, struct _KPROCESS *Process, PKLOCK_QUEUE_HANDLE ApcLock, struct _KAPC_STATE *SavedApcState)
VOID FASTCALL KiExitDispatcher(KIRQL OldIrql)
USHORT KeProcessorArchitecture
Definition: krnlinit.c:19
KNODE KiNode0
Definition: krnlinit.c:38
VOID FASTCALL KeZeroPages(IN PVOID Address, IN ULONG Size)
Definition: cpu.c:56
VOID NTAPI KiSuspendThread(IN PVOID NormalContext, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
Definition: thrdobj.c:587
VOID FASTCALL KiRetireDpcList(IN PKPRCB Prcb)
Definition: dpc.c:562
void KiInterruptDispatch(void)
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
Definition: ntpoapi.h:207
static BOOL Set
Definition: pageheap.c:10
long LONG
Definition: pedump.c:60
unsigned short USHORT
Definition: pedump.c:61
static WCHAR Address[46]
Definition: ping.c:68
#define volatile
Definition: prototyp.h:117
PULONG MinorVersion OPTIONAL
Definition: CrossNt.h:68
base of all file and directory entries
Definition: entries.h:83
ULONG TotalProcessors
Definition: ke.h:54
PKINTERRUPT_ROUTINE ChainedDispatch
Definition: ke.h:40
PKINTERRUPT Interrupt
Definition: ke.h:36
PKINTERRUPT_ROUTINE FloatingDispatch
Definition: ke.h:39
PKINTERRUPT_ROUTINE * FlatDispatch
Definition: ke.h:41
CONNECT_TYPE Type
Definition: ke.h:35
PKINTERRUPT_ROUTINE InterruptDispatch
Definition: ke.h:38
PKINTERRUPT_ROUTINE NoDispatch
Definition: ke.h:37
Definition: ke.h:72
PVOID Context
Definition: ke.h:75
PKDEFERRED_ROUTINE Routine
Definition: ke.h:74
PKDPC Dpc
Definition: ke.h:73
Definition: ketypes.h:547
Definition: ketypes.h:699
LARGE_INTEGER PerfEnd
Definition: ke.h:60
LONGLONG PerfDelta
Definition: ke.h:61
LARGE_INTEGER PerfFreq
Definition: ke.h:62
LONGLONG TSCStart
Definition: ke.h:63
LONGLONG TSCEnd
Definition: ke.h:64
ULONG MHz
Definition: ke.h:66
LARGE_INTEGER PerfStart
Definition: ke.h:59
LONGLONG TSCDelta
Definition: ke.h:65
PNMI_CALLBACK Callback
Definition: ke.h:81
struct _KNMI_HANDLER_CALLBACK * Next
Definition: ke.h:80
LIST_ENTRY ListEntry
Definition: ke.h:22
KPROFILE_SOURCE Source
Definition: ke.h:21
Definition: ketypes.h:774
Definition: btrfs_drv.h:1876
Definition: typedefs.h:120
LARGE_INTEGER TotalUserTime
Definition: ke.h:47
IO_COUNTERS IoInfo
Definition: ke.h:48
LARGE_INTEGER TotalKernelTime
Definition: ke.h:46
PVOID Wow64
Definition: ke.h:16
uint32_t * PULONG_PTR
Definition: typedefs.h:65
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char * PBOOLEAN
Definition: typedefs.h:53
int64_t LONGLONG
Definition: typedefs.h:68
#define NTAPI
Definition: typedefs.h:36
ULONG_PTR SIZE_T
Definition: typedefs.h:80
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
char * PCHAR
Definition: typedefs.h:51
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDEVICE _In_ PIRP _In_ WDFQUEUE Queue
Definition: wdfdevice.h:2225
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_DEVICE_PROPERTY_DATA _In_ DEVPROPTYPE _In_ ULONG Size
Definition: wdfdevice.h:4533
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
Definition: wdfdpc.h:112
_In_ WDFINTERRUPT _In_ WDF_INTERRUPT_POLICY _In_ WDF_INTERRUPT_PRIORITY Priority
Definition: wdfinterrupt.h:655
_Must_inspect_result_ _In_ WDFDEVICE _In_ PWDF_INTERRUPT_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFINTERRUPT * Interrupt
Definition: wdfinterrupt.h:379
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:863
_In_ WDFREQUEST _In_ NTSTATUS _In_ CCHAR PriorityBoost
Definition: wdfrequest.h:1016
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
Definition: wdfrequest.h:639
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFWAITLOCK * Lock
Definition: wdfsync.h:127
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
* PFAST_MUTEX
Definition: extypes.h:17
FAST_MUTEX
Definition: extypes.h:17
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
Definition: halfuncs.h:174
_Out_ PULONG UserTime
Definition: kefuncs.h:759
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:778
*LockHandle LockHandle _Out_ PKLOCK_QUEUE_HANDLE LockHandle
Definition: kefuncs.h:717
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:499
NMI_CALLBACK * PNMI_CALLBACK
Definition: ketypes.h:350
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:688
* PKAPC_STATE
Definition: ketypes.h:1409
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:687
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
KIPI_BROADCAST_WORKER * PKIPI_BROADCAST_WORKER
Definition: ketypes.h:617
#define TIMER_TABLE_SIZE
Definition: ketypes.h:848
VOID(NTAPI * PKINTERRUPT_ROUTINE)(VOID)
Definition: ketypes.h:502
enum _KWAIT_REASON KWAIT_REASON
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:689
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:690
_In_ ULONG _In_opt_ POBJECT_ATTRIBUTES _In_opt_ HANDLE _Out_opt_ PCLIENT_ID _In_ PKSTART_ROUTINE StartRoutine
Definition: psfuncs.h:91
_In_ ULONG Shift
Definition: rtlfuncs.h:2681
_In_ LARGE_INTEGER Divisor
Definition: rtlfuncs.h:3044
_In_ KPROCESSOR_MODE PreviousMode
Definition: sefuncs.h:103
unsigned char UCHAR
Definition: xmlstorage.h:181