ReactOS 0.4.16-dev-1401-gf1332c7
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
107extern PKPRCB KiProcessorBlock[];
108#ifdef CONFIG_SMP
109extern ULONG KeMaximumProcessors;
110extern ULONG KeNumprocSpecified;
111extern ULONG KeBootprocSpecified;
112#endif
113extern KNODE KiNode0;
114extern PKNODE KeNodeBlock[1];
115extern UCHAR KeNumberNodes;
128extern ULONG KiIdealDpcRate;
133extern ULONG KiServiceLimit;
144extern KEVENT KiSwapEvent;
153extern LONG KiTickOffset;
154extern ULONG KiFreezeFlag;
155extern ULONG KiDPCTimeout;
158extern ULONG ProcessCount;
160
161/* MACROS *************************************************************************/
162
163#define PRIORITY_MASK(Priority) (1UL << (Priority))
164
165/* Tells us if the Timer or Event is a Syncronization or Notification Object */
166#define TIMER_OR_EVENT_TYPE 0x7L
167
168/* One of the Reserved Wait Blocks, this one is for the Thread's Timer */
169#define TIMER_WAIT_BLOCK 0x3L
170
171/* INTERNAL KERNEL FUNCTIONS ************************************************/
172
173/* Finds a new thread to run */
178 IN PKPRCB Prcb
179);
180
181VOID
182NTAPI
185);
186
188NTAPI
191 IN BOOLEAN Disable
192);
193
195NTAPI
198 IN BOOLEAN Disable
199);
200
202NTAPI
206);
207
209NTAPI
213);
214
215VOID
216NTAPI
220);
221
222VOID
223NTAPI
225
226VOID
227NTAPI
229
230ULONG
231NTAPI
233
235NTAPI
237
241 IN KIRQL WaitIrql,
242 IN PKTHREAD CurrentThread
243);
244
245VOID
246NTAPI
248
249VOID
252
253VOID
256
260 IN PKPRCB Prcb
261);
262
263VOID
266 IN PKPRCB Prcb
267);
268
274);
275
279 IN PKPRCB Prcb
280);
281
286 IN ULONG Hand
287);
288
289VOID
292 IN PLIST_ENTRY ExpiredListHead,
294);
295
301);
302
303VOID
307 IN PKSPIN_LOCK_QUEUE LockQueue
308);
309
310CODE_SEG("INIT")
311VOID
312NTAPI
314 VOID
315);
316
317/* gmutex.c ********************************************************************/
318
319VOID
322 IN OUT PKGUARDED_MUTEX GuardedMutex
323);
324
325VOID
328 IN PFAST_MUTEX FastMutex
329);
330
331/* gate.c **********************************************************************/
332
333VOID
336
337VOID
340
341VOID
344 PKGATE Gate,
345 KWAIT_REASON WaitReason,
346 KPROCESSOR_MODE WaitMode
347);
348
349/* ipi.c ********************************************************************/
350
351VOID
354 KAFFINITY TargetSet,
355 ULONG IpiRequest
356);
357
358VOID
359NTAPI
361 IN KAFFINITY TargetProcessors,
362 IN PKIPI_WORKER WorkerFunction,
363 IN PKIPI_BROADCAST_WORKER BroadcastFunction,
366);
367
368VOID
371 IN PKIPI_CONTEXT PacketContext
372);
373
374VOID
377 IN PKIPI_CONTEXT PacketContext,
378 IN volatile PULONG ReverseStall
379);
380
381/* next file ***************************************************************/
382
383UCHAR
384NTAPI
388);
389
390VOID
391NTAPI
393 struct _KPROFILE* Profile,
395 PVOID ImageBase,
396 SIZE_T ImageSize,
397 ULONG BucketSize,
398 KPROFILE_SOURCE ProfileSource,
400);
401
403NTAPI
405 struct _KPROFILE* Profile,
407);
408
410NTAPI
412
413ULONG
414NTAPI
416
417VOID
418NTAPI
421 KPROFILE_SOURCE ProfileSource
422);
423
424VOID
425NTAPI
427 PKTRAP_FRAME TrapFrame,
428 KIRQL Irql
429);
430
431VOID
432NTAPI
434 PKDPC Dpc,
438);
439
440VOID
441NTAPI
445 IN PKSYSTEM_ROUTINE SystemRoutine,
447 IN PVOID StartContext,
449 IN PVOID Teb,
450 IN PVOID KernelStack
451);
452
453VOID
454NTAPI
457);
458
460NTAPI
463 IN PVOID KernelStack,
464 IN PKSYSTEM_ROUTINE SystemRoutine,
466 IN PVOID StartContext,
468 IN PVOID Teb,
470);
471
472VOID
473NTAPI
476 PKSYSTEM_ROUTINE SystemRoutine,
478 PVOID StartContext,
480);
481
482VOID
483NTAPI
486);
487
489NTAPI
492 IN KPROCESSOR_MODE AlertMode
493);
494
495ULONG
496NTAPI
499);
500
501ULONG
502NTAPI
505);
506
507PVOID
508NTAPI
510 IN PVOID StackBase,
511 IN PVOID StackLimit
512);
513
514VOID
515NTAPI
517
519NTAPI
521
522VOID
523NTAPI
525 IN PKAPC Apc
526);
527
528VOID
529NTAPI
531 IN PKAPC Apc,
532 IN PKNORMAL_ROUTINE *NormalRoutine,
533 IN PVOID *NormalContext,
536);
537
538VOID
539NTAPI
541 IN PVOID NormalContext,
544);
545
546LONG
547NTAPI
549
550VOID
555);
556
557VOID
561 IN LONG_PTR WaitStatus
562);
563
564VOID
565NTAPI
567
569NTAPI
571
572VOID
576 IN LONG_PTR WaitStatus,
578);
579
580VOID
581NTAPI
586 PULONG_PTR DirectoryTableBase,
588);
589
590VOID
591NTAPI
594 IN UCHAR Quantum
595);
596
598NTAPI
602 IN UCHAR Quantum OPTIONAL
603);
604
605ULONG
606NTAPI
608
609VOID
610NTAPI
612 VOID
613);
614
615VOID
616NTAPI
618 VOID
619);
620
622NTAPI
624
625VOID
630);
631
632VOID
633NTAPI
636 PKEXCEPTION_FRAME ExeptionFrame,
637 PKTRAP_FRAME TrapFrame,
638 ULONG ContextFlags,
640);
641
642VOID
643NTAPI
645
646VOID
647NTAPI
649
650LONG
651NTAPI
655 BOOLEAN Head
656);
657
658VOID
659NTAPI
661 IN PKDPC Dpc,
665);
666
667ULONG
668NTAPI
672 BOOLEAN InWait
673);
674
675VOID
676NTAPI
678
679VOID
680NTAPI
683 IN PKTRAP_FRAME TrapFrame,
684 IN PKNORMAL_ROUTINE NormalRoutine,
685 IN PVOID NormalContext,
688);
689
691NTAPI
695);
696
697VOID
698NTAPI
702 PKLOCK_QUEUE_HANDLE ApcLock,
703 struct _KAPC_STATE *SavedApcState
704);
705
706VOID
707NTAPI
709 struct _KPROCESS *NewProcess,
710 struct _KPROCESS *OldProcess
711);
712
714NTAPI
716
718NTAPI
720
721VOID
724
725ULONG
726NTAPI
729
730VOID
731NTAPI
733 PPROCESS_VALUES Values);
734
735/* INITIALIZATION FUNCTIONS *************************************************/
736
737CODE_SEG("INIT")
739NTAPI
741
742CODE_SEG("INIT")
743VOID
744NTAPI
746
747VOID
748NTAPI
750
751CODE_SEG("INIT")
752VOID
753NTAPI
755
757CODE_SEG("INIT")
758VOID
759NTAPI
761 IN PLOADER_PARAMETER_BLOCK LoaderBlock
762);
763
765NTAPI
767
768VOID
769NTAPI
771 PKAPC_STATE OldState,
772 PKAPC_STATE NewState
773);
774
775VOID
776NTAPI
779 ULONG Pc
780);
781
782VOID
783NTAPI
785 PEXCEPTION_RECORD ExceptionRecord,
786 PKEXCEPTION_FRAME ExceptionFrame,
787 PKTRAP_FRAME Tf,
789 BOOLEAN SearchFrames
790);
791
792VOID
793NTAPI
795 IN PKTRAP_FRAME TrapFrame,
796 IN PKEXCEPTION_FRAME ExceptionFrame,
798);
799
801VOID
802NTAPI
804 ULONG BugCheckCode,
805 ULONG_PTR BugCheckParameter1,
806 ULONG_PTR BugCheckParameter2,
807 ULONG_PTR BugCheckParameter3,
808 ULONG_PTR BugCheckParameter4,
809 PKTRAP_FRAME Tf
810);
811
813NTAPI
815
816VOID
817NTAPI
819
821NTAPI
823
824VOID
827 IN ULONG Size);
828
831KeInvalidAccessAllowed(IN PVOID TrapInformation OPTIONAL);
832
833VOID
834NTAPI
836 PULONG_PTR Frame,
837 ULONG FrameCount
838);
839
840VOID
841NTAPI
843 IN PLARGE_INTEGER NewSystemTime,
844 OUT PLARGE_INTEGER OldSystemTime,
845 IN BOOLEAN FixInterruptTime,
846 IN PLARGE_INTEGER HalTime
847);
848
849ULONG
850NTAPI
852 ULONG ExceptionNr,
853 PKTRAP_FRAME Tf,
855);
856
857VOID
858NTAPI
860 VOID
861);
862
863VOID
864NTAPI
866 VOID
867);
868
870NTAPI
872 IN PEXCEPTION_RECORD ExceptionRecord,
874 IN PKEXCEPTION_FRAME ExceptionFrame,
875 IN PKTRAP_FRAME TrapFrame,
876 IN BOOLEAN SearchFrames
877);
878
880NTAPI
883 IN PKEXCEPTION_FRAME ExceptionFrame,
884 IN PKTRAP_FRAME TrapFrame
885);
886
887#ifndef _M_AMD64
888VOID
891 IN PKTRAP_FRAME TrapFrame,
893);
894#endif
895
896VOID
899 IN PKTRAP_FRAME TrapFrame,
901);
902
903CODE_SEG("INIT")
904VOID
905NTAPI
907 VOID
908);
909
910VOID
911NTAPI
913 IN PKPROCESS InitProcess,
914 IN PKTHREAD InitThread,
915 IN PVOID IdleStack,
916 IN PKPRCB Prcb,
918 IN PLOADER_PARAMETER_BLOCK LoaderBlock
919);
920
921CODE_SEG("INIT")
922VOID
923NTAPI
925 IN PKPRCB Prcb,
927);
928
929CODE_SEG("INIT")
931NTAPI
935);
936
937CODE_SEG("INIT")
938VOID
939NTAPI
941 VOID
942);
943
944VOID
947 IN PKAPC Apc,
949);
950
952NTAPI
955 IN PULONG OutputLength
956);
957
959VOID
962 IN PVOID Stack,
964);
965
966CODE_SEG("INIT")
967VOID
968NTAPI
970
971VOID
972NTAPI
974 VOID);
975
976VOID
977NTAPI
979 VOID);
980
982NTAPI
984 IN PKEXCEPTION_FRAME ExceptionFrame);
985
986VOID
987NTAPI
989
991NTAPI
993 _In_ ULONG ProcessorIndex);
994
998VOID
1000KeAcquireQueuedSpinLockAtDpcLevel(
1001 _Inout_ PKSPIN_LOCK_QUEUE LockQueue
1002);
1003
1007VOID
1009KeReleaseQueuedSpinLockFromDpcLevel(
1010 _Inout_ PKSPIN_LOCK_QUEUE LockQueue
1011);
1012
1013VOID
1014NTAPI
1016 IN PKPROCESSOR_STATE ProcessorState
1017);
1018
1019VOID
1020NTAPI
1022 OUT PKPROCESSOR_STATE ProcessorState
1023);
1024
1025VOID
1026NTAPI
1028 _In_ PKTRAP_FRAME TrapFrame,
1029 _In_ PKEXCEPTION_FRAME ExceptionFrame);
1030
1031VOID
1032NTAPI
1034 _Out_ PKTRAP_FRAME TrapFrame,
1035 _Out_ PKEXCEPTION_FRAME ExceptionFrame);
1036
1037VOID
1040 IN PKPRCB Prcb
1041);
1042
1043VOID
1044NTAPI
1046 VOID
1047);
1048
1050VOID
1052 VOID
1053);
1054
1056VOID
1060 IN PKTRAP_FRAME TrapFrame
1061);
1062
1063PVOID
1064NTAPI
1066 OUT PLDR_DATA_TABLE_ENTRY *LdrEntry,
1067 IN BOOLEAN DriversOnly,
1068 OUT PBOOLEAN InKernel);
1069
1070PVOID
1071NTAPI
1073 OUT PLDR_DATA_TABLE_ENTRY *LdrEntry);
1074
1075PCHAR
1076NTAPI
1078 IN PUNICODE_STRING Unicode,
1079 OUT PCHAR Ansi,
1081);
1082
1083#ifdef CONFIG_SMP
1084ULONG
1085NTAPI
1086KiFindIdealProcessor(
1087 _In_ KAFFINITY ProcessorSet,
1088 _In_ UCHAR OriginalIdealProcessor);
1089#endif // CONFIG_SMP
1090
1091#ifdef __cplusplus
1092} // extern "C"
1093
1094namespace ntoskrnl
1095{
1096
1097/* Like std::lock_guard, but for a Queued Spinlock */
1098template <KSPIN_LOCK_QUEUE_NUMBER n>
1099class KiQueuedSpinLockGuard
1100{
1101private:
1102 KIRQL m_OldIrql;
1103public:
1104
1108 explicit KiQueuedSpinLockGuard()
1109 {
1110 m_OldIrql = KeAcquireQueuedSpinLock(n);
1111 }
1112
1115 ~KiQueuedSpinLockGuard()
1116 {
1117 KeReleaseQueuedSpinLock(n, m_OldIrql);
1118 }
1119
1120private:
1121 KiQueuedSpinLockGuard(KiQueuedSpinLockGuard const&) = delete;
1122 KiQueuedSpinLockGuard& operator=(KiQueuedSpinLockGuard const&) = delete;
1123};
1124
1125}
1126
1127#endif
1128
1129#include "ke_x.h"
#define CODE_SEG(...)
_In_ PVOID _In_ ULONG _Out_ PVOID _In_ ULONG _Inout_ PULONG _In_ KPROCESSOR_MODE PreviousMode
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:563
enum _KPROFILE_SOURCE KPROFILE_SOURCE
#define PCHAR
Definition: match.c:90
unsigned __int64 ULONG64
Definition: imports.h:198
__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:862
enum _KCONTINUE_STATUS KCONTINUE_STATUS
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:869
DWORD Interval
Definition: netstat.c:30
#define _Inout_
Definition: no_sal2.h:162
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
int Count
Definition: noreturn.cpp:7
#define FASTCALL
Definition: nt_native.h:50
#define DECLSPEC_NORETURN
Definition: ntbasedef.h:179
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
_In_ ULONGLONG _In_ ULONGLONG _In_ BOOLEAN Enable
Definition: ntddpcm.h:142
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
ULONG64 KeFeatureBits
Definition: krnlinit.c:22
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:142
VOID NTAPI KiInitializeMachineType(VOID)
Definition: kiinit.c:309
PVOID NTAPI KiPcToFileHeader(IN PVOID Pc, OUT PLDR_DATA_TABLE_ENTRY *LdrEntry, IN BOOLEAN DriversOnly, OUT PBOOLEAN InKernel)
Definition: bug.c:44
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:502
EPROCESS KiInitialProcess
Definition: krnlinit.c:41
PULONG KiInterruptTemplateObject
DECLSPEC_NORETURN VOID NTAPI KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: kiinit.c:485
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:31
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:535
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:157
BOOLEAN KeThreadDpcEnable
Definition: dpc.c:23
struct _DPC_QUEUE_ENTRY * PDPC_QUEUE_ENTRY
VOID NTAPI KxThawExecution(VOID)
Definition: freeze.c:163
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:534
PCHAR NTAPI KeBugCheckUnicodeToAnsi(IN PUNICODE_STRING Unicode, OUT PCHAR Ansi, IN ULONG Length)
Definition: bug.c:518
BOOLEAN NTAPI KeInitSystem(VOID)
Definition: krnlinit.c:292
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:40
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:428
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:149
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:207
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: processor.c:16
BOOLEAN NTAPI KeInvalidateAllCaches(VOID)
Definition: cpu.c:697
PVOID NTAPI KiRosPcToUserFileHeader(IN PVOID Pc, OUT PLDR_DATA_TABLE_ENTRY *LdrEntry)
Definition: bug.c:109
VOID FASTCALL KiIpiSignalPacketDone(IN PKIPI_CONTEXT PacketContext)
Definition: ipi.c:57
VOID NTAPI Ke386SetIOPL(VOID)
Definition: v86vdm.c:595
KAFFINITY FASTCALL KiSetAffinityThread(IN PKTHREAD Thread, IN KAFFINITY Affinity)
Definition: thrdschd.c:825
VOID FASTCALL KiProcessDeferredReadyList(IN PKPRCB Prcb)
Definition: thrdschd.c:41
UCHAR KeProcessNodeSeed
Definition: krnlinit.c:37
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)
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:150
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:103
VOID NTAPI KiInitSystem(VOID)
Definition: krnlinit.c:67
LIST_ENTRY KiProfileListHead
Definition: profobj.c:18
VOID NTAPI KiSaveProcessorState(_In_ PKTRAP_FRAME TrapFrame, _In_ PKEXCEPTION_FRAME ExceptionFrame)
Definition: cpu.c:626
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:148
VOID NTAPI KeSetQuantumProcess(IN PKPROCESS Process, IN UCHAR Quantum)
Definition: procobj.c:229
PKNODE KeNodeBlock[1]
Definition: krnlinit.c:35
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:119
BOOLEAN NTAPI KiHandleNmi(VOID)
Definition: bug.c:1169
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:100
BOOLEAN FASTCALL KiInsertTreeTimer(IN PKTIMER Timer, IN LARGE_INTEGER Interval)
Definition: timerobj.c:26
ULONG KiServiceLimit
Definition: krnlinit.c:25
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
BOOLEAN NTAPI KeTestAlertThread(IN KPROCESSOR_MODE AlertMode)
Definition: thrdobj.c:722
VOID NTAPI KiSaveProcessorControlState(OUT PKPROCESSOR_STATE ProcessorState)
Definition: cpu.c:585
KSPIN_LOCK KiProfileLock
Definition: profobj.c:20
NTSTATUS NTAPI KiContinue(IN PCONTEXT Context, IN PKEXCEPTION_FRAME ExceptionFrame, IN PKTRAP_FRAME TrapFrame)
Definition: except.c:42
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:401
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:147
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:36
VOID FASTCALL KiSetPriorityThread(IN PKTHREAD Thread, IN KPRIORITY Priority)
Definition: thrdschd.c:584
ULONG NTAPI KeAlertResumeThread(IN PKTHREAD Thread)
Definition: thrdobj.c:124
VOID NTAPI KiRestoreProcessorState(_Out_ PKTRAP_FRAME TrapFrame, _Out_ PKEXCEPTION_FRAME ExceptionFrame)
Definition: cpu.c:642
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:183
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:134
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:146
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
LIST_ENTRY KiProfileSourceListHead
Definition: ke.h:139
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:34
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:899
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:1588
_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:2698
_In_ LARGE_INTEGER Divisor
Definition: rtlfuncs.h:3061
unsigned char UCHAR
Definition: xmlstorage.h:181