ReactOS 0.4.16-dev-981-g80eb313
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
394VOID
395NTAPI
397 struct _KPROFILE* Profile,
399 PVOID ImageBase,
400 SIZE_T ImageSize,
401 ULONG BucketSize,
402 KPROFILE_SOURCE ProfileSource,
404);
405
407NTAPI
409 struct _KPROFILE* Profile,
411);
412
414NTAPI
416
417ULONG
418NTAPI
420
421VOID
422NTAPI
425 KPROFILE_SOURCE ProfileSource
426);
427
428VOID
429NTAPI
431 PKTRAP_FRAME TrapFrame,
432 KIRQL Irql
433);
434
435VOID
436NTAPI
438 PKDPC Dpc,
442);
443
444VOID
445NTAPI
449 IN PKSYSTEM_ROUTINE SystemRoutine,
451 IN PVOID StartContext,
453 IN PVOID Teb,
454 IN PVOID KernelStack
455);
456
457VOID
458NTAPI
461);
462
464NTAPI
467 IN PVOID KernelStack,
468 IN PKSYSTEM_ROUTINE SystemRoutine,
470 IN PVOID StartContext,
472 IN PVOID Teb,
474);
475
476VOID
477NTAPI
480 PKSYSTEM_ROUTINE SystemRoutine,
482 PVOID StartContext,
484);
485
486VOID
487NTAPI
490);
491
493NTAPI
496 IN KPROCESSOR_MODE AlertMode
497);
498
499ULONG
500NTAPI
503);
504
505ULONG
506NTAPI
509);
510
511PVOID
512NTAPI
514 IN PVOID StackBase,
515 IN PVOID StackLimit
516);
517
518VOID
519NTAPI
521
523NTAPI
525
526VOID
527NTAPI
529 IN PKAPC Apc
530);
531
532VOID
533NTAPI
535 IN PKAPC Apc,
536 IN PKNORMAL_ROUTINE *NormalRoutine,
537 IN PVOID *NormalContext,
540);
541
542VOID
543NTAPI
545 IN PVOID NormalContext,
548);
549
550LONG
551NTAPI
553
554VOID
559);
560
561VOID
565 IN LONG_PTR WaitStatus
566);
567
568VOID
569NTAPI
571
573NTAPI
575
576VOID
580 IN LONG_PTR WaitStatus,
582);
583
584VOID
585NTAPI
590 PULONG_PTR DirectoryTableBase,
592);
593
594VOID
595NTAPI
598 IN UCHAR Quantum
599);
600
602NTAPI
606 IN UCHAR Quantum OPTIONAL
607);
608
609ULONG
610NTAPI
612
613VOID
614NTAPI
616 VOID
617);
618
619VOID
620NTAPI
622 VOID
623);
624
626NTAPI
628
629VOID
634);
635
636VOID
637NTAPI
640 PKEXCEPTION_FRAME ExeptionFrame,
641 PKTRAP_FRAME TrapFrame,
642 ULONG ContextFlags,
644);
645
646VOID
647NTAPI
649
650VOID
651NTAPI
653
654LONG
655NTAPI
659 BOOLEAN Head
660);
661
662VOID
663NTAPI
665 IN PKDPC Dpc,
669);
670
671ULONG
672NTAPI
676 BOOLEAN InWait
677);
678
679VOID
680NTAPI
682
683VOID
684NTAPI
687 IN PKTRAP_FRAME TrapFrame,
688 IN PKNORMAL_ROUTINE NormalRoutine,
689 IN PVOID NormalContext,
692);
693
695NTAPI
699);
700
701VOID
702NTAPI
706 PKLOCK_QUEUE_HANDLE ApcLock,
707 struct _KAPC_STATE *SavedApcState
708);
709
710VOID
711NTAPI
713 struct _KPROCESS *NewProcess,
714 struct _KPROCESS *OldProcess
715);
716
718NTAPI
720
722NTAPI
724
725VOID
728
729ULONG
730NTAPI
733
734VOID
735NTAPI
737 PPROCESS_VALUES Values);
738
739/* INITIALIZATION FUNCTIONS *************************************************/
740
741CODE_SEG("INIT")
743NTAPI
745
746CODE_SEG("INIT")
747VOID
748NTAPI
750
751VOID
752NTAPI
754
755CODE_SEG("INIT")
756VOID
757NTAPI
759
761CODE_SEG("INIT")
762VOID
763NTAPI
765 IN PLOADER_PARAMETER_BLOCK LoaderBlock
766);
767
769NTAPI
771
772VOID
773NTAPI
775 PKAPC_STATE OldState,
776 PKAPC_STATE NewState
777);
778
779VOID
780NTAPI
783 ULONG Pc
784);
785
786VOID
787NTAPI
789 PEXCEPTION_RECORD ExceptionRecord,
790 PKEXCEPTION_FRAME ExceptionFrame,
791 PKTRAP_FRAME Tf,
793 BOOLEAN SearchFrames
794);
795
796VOID
797NTAPI
799 IN PKTRAP_FRAME TrapFrame,
800 IN PKEXCEPTION_FRAME ExceptionFrame,
802);
803
805VOID
806NTAPI
808 ULONG BugCheckCode,
809 ULONG_PTR BugCheckParameter1,
810 ULONG_PTR BugCheckParameter2,
811 ULONG_PTR BugCheckParameter3,
812 ULONG_PTR BugCheckParameter4,
813 PKTRAP_FRAME Tf
814);
815
817NTAPI
819
820VOID
821NTAPI
823
825NTAPI
827
828VOID
831 IN ULONG Size);
832
835KeInvalidAccessAllowed(IN PVOID TrapInformation OPTIONAL);
836
837VOID
838NTAPI
840 PULONG_PTR Frame,
841 ULONG FrameCount
842);
843
844VOID
845NTAPI
847 IN PLARGE_INTEGER NewSystemTime,
848 OUT PLARGE_INTEGER OldSystemTime,
849 IN BOOLEAN FixInterruptTime,
850 IN PLARGE_INTEGER HalTime
851);
852
853ULONG
854NTAPI
856 ULONG ExceptionNr,
857 PKTRAP_FRAME Tf,
859);
860
861VOID
862NTAPI
864 VOID
865);
866
867VOID
868NTAPI
870 VOID
871);
872
874NTAPI
876 IN PEXCEPTION_RECORD ExceptionRecord,
878 IN PKEXCEPTION_FRAME ExceptionFrame,
879 IN PKTRAP_FRAME TrapFrame,
880 IN BOOLEAN SearchFrames
881);
882
884NTAPI
887 IN PKEXCEPTION_FRAME ExceptionFrame,
888 IN PKTRAP_FRAME TrapFrame
889);
890
891#ifndef _M_AMD64
892VOID
895 IN PKTRAP_FRAME TrapFrame,
897);
898#endif
899
900VOID
903 IN PKTRAP_FRAME TrapFrame,
905);
906
907CODE_SEG("INIT")
908VOID
909NTAPI
911 VOID
912);
913
914VOID
915NTAPI
917 IN PKPROCESS InitProcess,
918 IN PKTHREAD InitThread,
919 IN PVOID IdleStack,
920 IN PKPRCB Prcb,
922 IN PLOADER_PARAMETER_BLOCK LoaderBlock
923);
924
925CODE_SEG("INIT")
926VOID
927NTAPI
929 IN PKPRCB Prcb,
931);
932
933CODE_SEG("INIT")
935NTAPI
939);
940
941CODE_SEG("INIT")
942VOID
943NTAPI
945 VOID
946);
947
948VOID
951 IN PKAPC Apc,
953);
954
956NTAPI
959 IN PULONG OutputLength
960);
961
963VOID
966 IN PVOID Stack,
968);
969
970CODE_SEG("INIT")
971VOID
972NTAPI
974
975VOID
976NTAPI
978 VOID);
979
980VOID
981NTAPI
983 VOID);
984
986NTAPI
988 IN PKEXCEPTION_FRAME ExceptionFrame);
989
990VOID
991NTAPI
993
995NTAPI
997 _In_ ULONG ProcessorIndex);
998
1002VOID
1004KeAcquireQueuedSpinLockAtDpcLevel(
1005 _Inout_ PKSPIN_LOCK_QUEUE LockQueue
1006);
1007
1011VOID
1013KeReleaseQueuedSpinLockFromDpcLevel(
1014 _Inout_ PKSPIN_LOCK_QUEUE LockQueue
1015);
1016
1017VOID
1018NTAPI
1020 IN PKPROCESSOR_STATE ProcessorState
1021);
1022
1023VOID
1024NTAPI
1026 OUT PKPROCESSOR_STATE ProcessorState
1027);
1028
1029VOID
1030NTAPI
1032 _In_ PKTRAP_FRAME TrapFrame,
1033 _In_ PKEXCEPTION_FRAME ExceptionFrame);
1034
1035VOID
1036NTAPI
1038 _Out_ PKTRAP_FRAME TrapFrame,
1039 _Out_ PKEXCEPTION_FRAME ExceptionFrame);
1040
1041VOID
1044 IN PKPRCB Prcb
1045);
1046
1047VOID
1048NTAPI
1050 VOID
1051);
1052
1054VOID
1056 VOID
1057);
1058
1060VOID
1064 IN PKTRAP_FRAME TrapFrame
1065);
1066
1067PVOID
1068NTAPI
1070 OUT PLDR_DATA_TABLE_ENTRY *LdrEntry,
1071 IN BOOLEAN DriversOnly,
1072 OUT PBOOLEAN InKernel);
1073
1074PVOID
1075NTAPI
1077 OUT PLDR_DATA_TABLE_ENTRY *LdrEntry);
1078
1079PCHAR
1080NTAPI
1082 IN PUNICODE_STRING Unicode,
1083 OUT PCHAR Ansi,
1085);
1086
1087#ifdef CONFIG_SMP
1088ULONG
1089NTAPI
1090KiFindIdealProcessor(
1091 _In_ KAFFINITY ProcessorSet,
1092 _In_ UCHAR OriginalIdealProcessor);
1093#endif // CONFIG_SMP
1094
1095#ifdef __cplusplus
1096} // extern "C"
1097
1098namespace ntoskrnl
1099{
1100
1101/* Like std::lock_guard, but for a Queued Spinlock */
1102template <KSPIN_LOCK_QUEUE_NUMBER n>
1103class KiQueuedSpinLockGuard
1104{
1105private:
1106 KIRQL m_OldIrql;
1107public:
1108
1112 explicit KiQueuedSpinLockGuard()
1113 {
1114 m_OldIrql = KeAcquireQueuedSpinLock(n);
1115 }
1116
1119 ~KiQueuedSpinLockGuard()
1120 {
1121 KeReleaseQueuedSpinLock(n, m_OldIrql);
1122 }
1123
1124private:
1125 KiQueuedSpinLockGuard(KiQueuedSpinLockGuard const&) = delete;
1126 KiQueuedSpinLockGuard& operator=(KiQueuedSpinLockGuard const&) = delete;
1127};
1128
1129}
1130
1131#endif
1132
1133#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: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
#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:176
_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: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: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:528
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:690
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:99
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:619
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
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:578
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:635
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: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:2698
_In_ LARGE_INTEGER Divisor
Definition: rtlfuncs.h:3061
unsigned char UCHAR
Definition: xmlstorage.h:181