ReactOS 0.4.15-dev-6644-g539123c
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[];
149extern LONG KiTickOffset;
150extern ULONG KiFreezeFlag;
151extern ULONG KiDPCTimeout;
154extern ULONG ProcessCount;
156
157/* MACROS *************************************************************************/
158
159#define AFFINITY_MASK(Id) KiMask32Array[Id]
160#define PRIORITY_MASK(Id) KiMask32Array[Id]
161
162/* Tells us if the Timer or Event is a Syncronization or Notification Object */
163#define TIMER_OR_EVENT_TYPE 0x7L
164
165/* One of the Reserved Wait Blocks, this one is for the Thread's Timer */
166#define TIMER_WAIT_BLOCK 0x3L
167
168/* INTERNAL KERNEL FUNCTIONS ************************************************/
169
170/* Finds a new thread to run */
175 IN PKPRCB Prcb
176);
177
178VOID
179NTAPI
182);
183
185NTAPI
188 IN BOOLEAN Disable
189);
190
192NTAPI
195 IN BOOLEAN Disable
196);
197
199NTAPI
203);
204
206NTAPI
210);
211
212VOID
213NTAPI
217);
218
219VOID
220NTAPI
222
223VOID
224NTAPI
226
227ULONG
228NTAPI
230
232NTAPI
234
238 IN KIRQL WaitIrql,
239 IN PKTHREAD CurrentThread
240);
241
242VOID
243NTAPI
245
246VOID
249
250VOID
253
257 IN PKPRCB Prcb
258);
259
260VOID
263 IN PKPRCB Prcb
264);
265
271);
272
276 IN PKPRCB Prcb
277);
278
283 IN ULONG Hand
284);
285
286VOID
289 IN PLIST_ENTRY ExpiredListHead,
291);
292
298);
299
300VOID
304 IN PKSPIN_LOCK_QUEUE LockQueue
305);
306
307/* gmutex.c ********************************************************************/
308
309VOID
312 IN OUT PKGUARDED_MUTEX GuardedMutex
313);
314
315VOID
318 IN PFAST_MUTEX FastMutex
319);
320
321/* gate.c **********************************************************************/
322
323VOID
326
327VOID
330
331VOID
334 PKGATE Gate,
335 KWAIT_REASON WaitReason,
336 KPROCESSOR_MODE WaitMode
337);
338
339/* ipi.c ********************************************************************/
340
341VOID
344 KAFFINITY TargetSet,
345 ULONG IpiRequest
346);
347
348VOID
349NTAPI
351 IN KAFFINITY TargetProcessors,
352 IN PKIPI_WORKER WorkerFunction,
353 IN PKIPI_BROADCAST_WORKER BroadcastFunction,
356);
357
358VOID
361 IN PKIPI_CONTEXT PacketContext
362);
363
364VOID
367 IN PKIPI_CONTEXT PacketContext,
368 IN volatile PULONG ReverseStall
369);
370
371/* next file ***************************************************************/
372
373UCHAR
374NTAPI
377 IN ULONG Set
378);
379
380VOID
381NTAPI
383
384VOID
385NTAPI
387 struct _KPROFILE* Profile,
388 struct _KPROCESS* Process,
389 PVOID ImageBase,
390 SIZE_T ImageSize,
391 ULONG BucketSize,
392 KPROFILE_SOURCE ProfileSource,
394);
395
397NTAPI
399 struct _KPROFILE* Profile,
401);
402
404NTAPI
405KeStopProfile(struct _KPROFILE* Profile);
406
407ULONG
408NTAPI
410
411VOID
412NTAPI
415 KPROFILE_SOURCE ProfileSource
416);
417
418VOID
419NTAPI
421 PKTRAP_FRAME TrapFrame,
422 KIRQL Irql
423);
424
425VOID
426NTAPI
428 PKDPC Dpc,
432);
433
434VOID
435NTAPI
439 IN PKSYSTEM_ROUTINE SystemRoutine,
441 IN PVOID StartContext,
443 IN PVOID Teb,
444 IN PVOID KernelStack
445);
446
447VOID
448NTAPI
451);
452
454NTAPI
457 IN PVOID KernelStack,
458 IN PKSYSTEM_ROUTINE SystemRoutine,
460 IN PVOID StartContext,
462 IN PVOID Teb,
464);
465
466VOID
467NTAPI
470 PKSYSTEM_ROUTINE SystemRoutine,
472 PVOID StartContext,
474);
475
476VOID
477NTAPI
480);
481
483NTAPI
486 IN KPROCESSOR_MODE AlertMode
487);
488
489ULONG
490NTAPI
493);
494
495ULONG
496NTAPI
499);
500
501PVOID
502NTAPI
504 IN PVOID StackBase,
505 IN PVOID StackLimit
506);
507
508VOID
509NTAPI
511
513NTAPI
515
516VOID
517NTAPI
519 IN PKAPC Apc
520);
521
522VOID
523NTAPI
525 IN PKAPC Apc,
526 IN PKNORMAL_ROUTINE *NormalRoutine,
527 IN PVOID *NormalContext,
530);
531
532VOID
533NTAPI
535 IN PVOID NormalContext,
538);
539
540LONG
541NTAPI
543
544VOID
549);
550
551VOID
555 IN LONG_PTR WaitStatus
556);
557
558VOID
559NTAPI
561
563NTAPI
565
566VOID
570 IN LONG_PTR WaitStatus,
572);
573
574VOID
575NTAPI
577 struct _KPROCESS *Process,
580 PULONG_PTR DirectoryTableBase,
582);
583
584VOID
585NTAPI
588 IN UCHAR Quantum
589);
590
592NTAPI
596 IN UCHAR Quantum OPTIONAL
597);
598
599ULONG
600NTAPI
602
603VOID
604NTAPI
606 VOID
607);
608
609VOID
610NTAPI
612 VOID
613);
614
616NTAPI
618
619VOID
624);
625
626VOID
627NTAPI
630 PKEXCEPTION_FRAME ExeptionFrame,
631 PKTRAP_FRAME TrapFrame,
632 ULONG ContextFlags,
634);
635
636VOID
637NTAPI
639
640VOID
641NTAPI
643
644LONG
645NTAPI
649 BOOLEAN Head
650);
651
652VOID
653NTAPI
655 IN PKDPC Dpc,
659);
660
661ULONG
662NTAPI
664 struct _KPROCESS* Process,
666 BOOLEAN InWait
667);
668
669VOID
670NTAPI
672
673VOID
674NTAPI
677 IN PKTRAP_FRAME TrapFrame,
678 IN PKNORMAL_ROUTINE NormalRoutine,
679 IN PVOID NormalContext,
682);
683
685NTAPI
689);
690
691VOID
692NTAPI
694 struct _KTHREAD *Thread,
695 struct _KPROCESS *Process,
696 PKLOCK_QUEUE_HANDLE ApcLock,
697 struct _KAPC_STATE *SavedApcState
698);
699
700VOID
701NTAPI
703 struct _KPROCESS *NewProcess,
704 struct _KPROCESS *OldProcess
705);
706
708NTAPI
710
712NTAPI
714
715VOID
718
719ULONG
720NTAPI
723
724VOID
725NTAPI
727 PPROCESS_VALUES Values);
728
729/* INITIALIZATION FUNCTIONS *************************************************/
730
731CODE_SEG("INIT")
733NTAPI
735
736CODE_SEG("INIT")
737VOID
738NTAPI
740
741VOID
742NTAPI
744
745CODE_SEG("INIT")
746VOID
747NTAPI
749
751CODE_SEG("INIT")
752VOID
753NTAPI
755 IN PLOADER_PARAMETER_BLOCK LoaderBlock
756);
757
759NTAPI
761
762VOID
763NTAPI
765 PKAPC_STATE OldState,
766 PKAPC_STATE NewState
767);
768
769VOID
770NTAPI
773 ULONG Pc
774);
775
776VOID
777NTAPI
779 PEXCEPTION_RECORD ExceptionRecord,
780 PKEXCEPTION_FRAME ExceptionFrame,
781 PKTRAP_FRAME Tf,
783 BOOLEAN SearchFrames
784);
785
786VOID
787NTAPI
789 IN PKTRAP_FRAME TrapFrame,
790 IN PKEXCEPTION_FRAME ExceptionFrame,
792);
793
795VOID
796NTAPI
798 ULONG BugCheckCode,
799 ULONG_PTR BugCheckParameter1,
800 ULONG_PTR BugCheckParameter2,
801 ULONG_PTR BugCheckParameter3,
802 ULONG_PTR BugCheckParameter4,
803 PKTRAP_FRAME Tf
804);
805
807NTAPI
809
810VOID
811NTAPI
813
815NTAPI
817
818VOID
821 IN ULONG Size);
822
825KeInvalidAccessAllowed(IN PVOID TrapInformation OPTIONAL);
826
827VOID
828NTAPI
830 PULONG_PTR Frame,
831 ULONG FrameCount
832);
833
834VOID
835NTAPI
837 IN PLARGE_INTEGER NewSystemTime,
838 OUT PLARGE_INTEGER OldSystemTime,
839 IN BOOLEAN FixInterruptTime,
840 IN PLARGE_INTEGER HalTime
841);
842
843ULONG
844NTAPI
846 ULONG ExceptionNr,
847 PKTRAP_FRAME Tf,
849);
850
851VOID
852NTAPI
854 VOID
855);
856
857VOID
858NTAPI
860 VOID
861);
862
864NTAPI
866 IN PEXCEPTION_RECORD ExceptionRecord,
868 IN PKEXCEPTION_FRAME ExceptionFrame,
869 IN PKTRAP_FRAME TrapFrame,
870 IN BOOLEAN SearchFrames
871);
872
874NTAPI
877 IN PKEXCEPTION_FRAME ExceptionFrame,
878 IN PKTRAP_FRAME TrapFrame
879);
880
882VOID
885 IN PKTRAP_FRAME TrapFrame,
887);
888
890VOID
893 IN PKTRAP_FRAME TrapFrame
894);
895
896#ifndef _M_AMD64
897VOID
900 IN PKTRAP_FRAME TrapFrame,
902);
903#endif
904
905VOID
908 IN PKTRAP_FRAME TrapFrame,
910);
911
912CODE_SEG("INIT")
913VOID
914NTAPI
916 VOID
917);
918
919VOID
920NTAPI
922 IN PKPROCESS InitProcess,
923 IN PKTHREAD InitThread,
924 IN PVOID IdleStack,
925 IN PKPRCB Prcb,
927 IN PLOADER_PARAMETER_BLOCK LoaderBlock
928);
929
930CODE_SEG("INIT")
931VOID
932NTAPI
934 IN PKPRCB Prcb,
936);
937
938CODE_SEG("INIT")
940NTAPI
944);
945
946CODE_SEG("INIT")
947VOID
948NTAPI
950 VOID
951);
952
953VOID
956 IN PKAPC Apc,
958);
959
961NTAPI
964 IN PULONG OutputLength
965);
966
968VOID
971 IN PVOID Stack,
973);
974
975CODE_SEG("INIT")
976VOID
977NTAPI
979
981NTAPI
983 IN PKEXCEPTION_FRAME ExceptionFrame);
984
985VOID
986NTAPI
988
992VOID
994KeAcquireQueuedSpinLockAtDpcLevel(
995 _Inout_ PKSPIN_LOCK_QUEUE LockQueue
996);
997
1001VOID
1003KeReleaseQueuedSpinLockFromDpcLevel(
1004 _Inout_ PKSPIN_LOCK_QUEUE LockQueue
1005);
1006
1007VOID
1008NTAPI
1010 IN PKPROCESSOR_STATE ProcessorState
1011);
1012
1013VOID
1014NTAPI
1016 OUT PKPROCESSOR_STATE ProcessorState
1017);
1018
1019VOID
1020NTAPI
1022 IN PKTRAP_FRAME TrapFrame,
1023 IN PKEXCEPTION_FRAME ExceptionFrame
1024);
1025
1026VOID
1029 IN PKPRCB Prcb
1030);
1031
1032VOID
1033NTAPI
1035 VOID
1036);
1037
1039VOID
1041 VOID
1042);
1043
1045VOID
1049 IN PKTRAP_FRAME TrapFrame
1050);
1051
1052PVOID
1053NTAPI
1055 OUT PLDR_DATA_TABLE_ENTRY *LdrEntry,
1056 IN BOOLEAN DriversOnly,
1057 OUT PBOOLEAN InKernel);
1058
1059PVOID
1060NTAPI
1062 OUT PLDR_DATA_TABLE_ENTRY *LdrEntry);
1063
1064PCHAR
1065NTAPI
1067 IN PUNICODE_STRING Unicode,
1068 OUT PCHAR Ansi,
1070);
1071
1072#ifdef __cplusplus
1073} // extern "C"
1074
1075namespace ntoskrnl
1076{
1077
1078/* Like std::lock_guard, but for a Queued Spinlock */
1079template <KSPIN_LOCK_QUEUE_NUMBER n>
1080class KiQueuedSpinLockGuard
1081{
1082private:
1083 KIRQL m_OldIrql;
1084public:
1085
1089 explicit KiQueuedSpinLockGuard()
1090 {
1091 m_OldIrql = KeAcquireQueuedSpinLock(n);
1092 }
1093
1096 ~KiQueuedSpinLockGuard()
1097 {
1098 KeReleaseQueuedSpinLock(n, m_OldIrql);
1099 }
1100
1101private:
1102 KiQueuedSpinLockGuard(KiQueuedSpinLockGuard const&) = delete;
1103 KiQueuedSpinLockGuard& operator=(KiQueuedSpinLockGuard const&) = delete;
1104};
1105
1106}
1107
1108#endif
1109
1110#include "ke_x.h"
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 MAXIMUM_PRIORITY
static CODE_SEG("PAGE")
Definition: isapnp.c:1482
#define PCHAR
Definition: match.c:90
#define _Inout_
Definition: ms_sal.h:378
__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:677
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:684
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
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:765
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:385
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:580
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:276
PKPRCB KiProcessorBlock[]
Definition: krnlinit.c:32
PKNMI_HANDLER_CALLBACK KiNmiCallbackListHead
Definition: bug.c:33
VOID NTAPI KeFreezeAllThreads(VOID)
Definition: thrdobj.c:315
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:401
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:92
ULONG KiMaximumDpcQueueDepth
Definition: dpc.c:19
ULONGLONG BootCyclesEnd
Definition: ke.h:153
BOOLEAN KeThreadDpcEnable
Definition: dpc.c:23
struct _DPC_QUEUE_ENTRY * PDPC_QUEUE_ENTRY
struct _KPROFILE_SOURCE_OBJECT KPROFILE_SOURCE_OBJECT
VOID __cdecl KiInterruptTemplate(VOID)
LONG NTAPI KeQueryBasePriorityThread(IN PKTHREAD Thread)
Definition: thrdobj.c:61
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
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:926
VOID NTAPI KeBalanceSetManager(IN PVOID Context)
Definition: balmgr.c:137
VOID NTAPI KeThawAllThreads(VOID)
Definition: thrdobj.c:669
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
UCHAR NTAPI KeFindNextRightSetAffinity(IN UCHAR Number, IN ULONG Set)
Definition: thrdobj.c:32
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:610
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:145
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:63
ULONG NTAPI KeResumeThread(IN PKTHREAD Thread)
Definition: thrdobj.c:397
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:900
KAFFINITY KeActiveProcessors
Definition: krnlinit.c:23
BOOLEAN NTAPI KeInvalidateAllCaches(VOID)
Definition: cpu.c:538
ULONG KeFeatureBits
Definition: krnlinit.c:22
VOID FASTCALL KiIpiSignalPacketDone(IN PKIPI_CONTEXT PacketContext)
Definition: ipi.c:55
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
VOID NTAPI KiSaveProcessorState(IN PKTRAP_FRAME TrapFrame, IN PKEXCEPTION_FRAME ExceptionFrame)
Definition: cpu.c:1158
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
ULONG KiMask32Array[MAXIMUM_PRIORITY]
Definition: thrdobj.c:18
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
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:170
VOID NTAPI KiInitSystem(VOID)
Definition: krnlinit.c:71
LIST_ENTRY KiProfileListHead
Definition: profobj.c:18
BOOLEAN NTAPI KeSetDisableBoostThread(IN OUT PKTHREAD Thread, IN BOOLEAN Disable)
Definition: thrdobj.c:95
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:144
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:185
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:1166
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:43
ULONG KiDPCTimeout
Definition: dpc.c:27
VOID NTAPI KiInitializeContextThread(PKTHREAD Thread, PKSYSTEM_ROUTINE SystemRoutine, PKSTART_ROUTINE StartRoutine, PVOID StartContext, PCONTEXT Context)
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:572
struct _WOW64_PROCESS WOW64_PROCESS
ULONG_PTR KiDoubleFaultStack
Definition: kiinit.c:35
VOID NTAPI DbgBreakPointNoBugCheck(VOID)
BOOLEAN NTAPI KeTestAlertThread(IN KPROCESSOR_MODE AlertMode)
Definition: thrdobj.c:731
VOID NTAPI KiSaveProcessorControlState(OUT PKPROCESSOR_STATE ProcessorState)
Definition: cpu.c:451
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:439
BOOLEAN NTAPI KeDisableThreadApcQueueing(IN PKTHREAD Thread)
PVOID KeUserCallbackDispatcher
Definition: ke.h:143
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:498
LARGE_INTEGER KeBootTime
Definition: clock.c:17
VOID NTAPI KeReadyThread(IN PKTHREAD Thread)
Definition: thrdobj.c:115
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:133
VOID NTAPI KeContextToTrapFrame(PCONTEXT Context, PKEXCEPTION_FRAME ExeptionFrame, PKTRAP_FRAME TrapFrame, ULONG ContextFlags, KPROCESSOR_MODE PreviousMode)
ULONG_PTR KiIdleSummary
Definition: thrdschd.c:25
ULONGLONG BootCycles
Definition: kiinit.c:37
PGDI_BATCHFLUSH_ROUTINE KeGdiFlushUserBatch
Definition: win32.c:20
BOOLEAN NTAPI KeReadStateThread(IN PKTHREAD Thread)
Definition: thrdobj.c:51
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:229
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:64
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:142
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:418
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:596
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
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:535
Definition: ketypes.h:687
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:714
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:773
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:792
*LockHandle LockHandle _Out_ PKLOCK_QUEUE_HANDLE LockHandle
Definition: kefuncs.h:731
KSTART_ROUTINE * PKSTART_ROUTINE
Definition: ketypes.h:487
NMI_CALLBACK * PNMI_CALLBACK
Definition: ketypes.h:338
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:676
* PKAPC_STATE
Definition: ketypes.h:1285
_In_opt_ PVOID DeferredContext
Definition: ketypes.h:675
VOID(NTAPI * PKIPI_WORKER)(IN OUT PKIPI_CONTEXT PacketContext, IN PVOID Parameter1 OPTIONAL, IN PVOID Parameter2 OPTIONAL, IN PVOID Parameter3 OPTIONAL)
Definition: ketypes.h:576
KIPI_BROADCAST_WORKER * PKIPI_BROADCAST_WORKER
Definition: ketypes.h:605
#define TIMER_TABLE_SIZE
Definition: ketypes.h:836
VOID(NTAPI * PKINTERRUPT_ROUTINE)(VOID)
Definition: ketypes.h:490
enum _KWAIT_REASON KWAIT_REASON
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:677
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:678
_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