ReactOS 0.4.16-dev-2473-gb34a1f1
kefuncs.h
Go to the documentation of this file.
1/*++ NDK Version: 0098
2
3Copyright (c) Alex Ionescu. All rights reserved.
4
5Header Name:
6
7 kefuncs.h
8
9Abstract:
10
11 Functions definitions for the Kernel services.
12
13Author:
14
15 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16
17--*/
18
19#ifndef _KEFUNCS_H
20#define _KEFUNCS_H
21
22//
23// Dependencies
24//
25#include <umtypes.h>
26#include <ketypes.h>
27#include <section_attribs.h>
28
29#ifdef __cplusplus
30extern "C"
31{
32#endif
33
34#ifndef NTOS_MODE_USER
35
36//
37// Affinity helpers
38//
40{
41 ASSERT(Index < sizeof(KAFFINITY) * 8);
42 return (KAFFINITY)1 << Index;
43}
44
46{
47#ifdef _WIN64
48 return BitScanForward64(Index, Mask);
49#else
50 return BitScanForward(Index, Mask);
51#endif
52}
53
55{
56#ifdef _WIN64
57 return BitScanReverse64(Index, Mask);
58#else
59 return BitScanReverse(Index, Mask);
60#endif
61}
62
64{
65 ASSERT(Index < sizeof(KAFFINITY) * 8);
66#ifdef _WIN64
67 return InterlockedBitTestAndSet64((PLONG64)Affinity, Index);
68#else
70#endif
71}
72
74{
75 ASSERT(Index < sizeof(KAFFINITY) * 8);
76#ifdef _WIN64
77 return InterlockedBitTestAndReset64((PLONG64)Affinity, Index);
78#else
80#endif
81}
82
83//
84// APC Functions
85//
86VOID
89 _In_ PKAPC Apc,
91 _In_ KAPC_ENVIRONMENT TargetEnvironment,
92 _In_ PKKERNEL_ROUTINE KernelRoutine,
93 _In_opt_ PKRUNDOWN_ROUTINE RundownRoutine,
94 _In_ PKNORMAL_ROUTINE NormalRoutine,
97);
98
100NTAPI
102 _In_ PKAPC Apc,
106);
107
108VOID
109NTAPI
112#ifdef _M_AMD64
113 _In_ PKEXCEPTION_FRAME ExceptionFrame,
114#else
115 _Reserved_ PKEXCEPTION_FRAME ExceptionFrame,
116#endif
117 _In_ PKTRAP_FRAME TrapFrame
118);
119
120//
121// Process/Thread Functions
122//
123VOID
124NTAPI
127);
128
130NTAPI
132 VOID
133);
134
135VOID
136NTAPI
140);
141
143NTAPI
147);
148
150NTAPI
152 VOID
153);
154
156NTAPI
163);
164
165//
166// Spinlock Functions
167//
168VOID
172);
173
174VOID
178);
179
180KIRQL
184);
185
189 _In_ KSPIN_LOCK_QUEUE_NUMBER LockNumber,
191);
192
193VOID
198);
199
200
201//
202// Interrupt Functions
203//
204VOID
205NTAPI
216 _In_ CHAR ProcessorNumber,
218);
219
221NTAPI
224);
225
227NTAPI
230);
231
232VOID
233NTAPI
235 VOID
236);
237
238VOID
239NTAPI
241 VOID
242);
243
245VOID
248 VOID
249);
250
251VOID
252NTAPI
254 VOID
255);
256
258NTAPI
260 VOID
261);
262
264NTAPI
266 _In_ PKTRAP_FRAME TrapFrame,
267#ifdef _M_AMD64
268 _In_ PKEXCEPTION_FRAME ExceptionFrame
269#else
270 _Reserved_ PKEXCEPTION_FRAME ExceptionFrame
271#endif
272);
273
274//
275// Generic DPC Routines
276//
277VOID
278NTAPI
280 _In_ PKDEFERRED_ROUTINE Routine,
282);
283
284VOID
285NTAPI
288);
289
291NTAPI
294);
295
296//
297// ARC Configuration Functions. Only enabled if you have ARC support.
298//
299#ifdef _ARC_
302NTAPI
307 _In_opt_ PULONG ComponentKey,
309);
310
313NTAPI
318 _In_opt_ PULONG ComponentKey
319);
320#endif
321
322//
323// Low-level Hardware/CPU Control Functions
324//
325VOID
326NTAPI
329 _In_ BOOLEAN AllProcessors
330);
331
332VOID
333NTAPI
335 _In_ ULONG Coherency
336);
337
338VOID
341 _In_ ULONG Value1,
342 _In_ ULONG Value2
343);
344
345VOID
346NTAPI
348 _In_ PKTRAP_FRAME TrapFrame
349);
350
351VOID
352NTAPI
354 _In_ PKTRAP_FRAME TrapFrame,
356);
357
358VOID
359NTAPI
361 _In_ KIRQL ProfileIrql
362);
363
364VOID
365NTAPI
367 _In_ ULONG MaxIncrement,
368 _In_ ULONG MinIncrement
369);
370
372NTAPI
374 _In_ ULONG BiosCommand,
375 _Inout_ PCONTEXT BiosArguments
376);
377
378//
379// Misc. Functions
380//
382NTAPI
384 _In_ ULONG FunctionID,
385 _In_reads_opt_(InputLength) PVOID InputBuffer,
386 _In_ ULONG InputLength,
388 _Out_ PULONG OutputLength
389);
390
392NTAPI
395);
396
397#endif
398
399//
400// Native Calls
401//
404NTAPI
407 _In_ BOOLEAN TestAlert
408);
409
412NTAPI
417);
418
421NTAPI
423 _Out_ PHANDLE ProfileHandle,
425 _In_ PVOID ImageBase,
426 _In_ SIZE_T ImageSize,
427 _In_ ULONG Granularity,
429 _In_ ULONG ProfilingSize,
431 _In_ KAFFINITY ProcessorMask
432);
433
436NTAPI
438 _Out_ PHANDLE ProfileHandle,
440 _In_ PVOID ImageBase,
441 _In_ SIZE_T ImageSize,
442 _In_ ULONG Granularity,
444 _In_ ULONG ProfilingSize,
446 _In_ USHORT GroupCount,
448);
449
452NTAPI
456);
457
458ULONG
459NTAPI
461 VOID
462);
463
466NTAPI
468 _In_ HANDLE ThreadHandle,
470);
471
473ULONG
474NTAPI
476 VOID
477);
478
481NTAPI
483 _In_ KPROFILE_SOURCE ProfileSource,
485);
486
489NTAPI
493);
494
497NTAPI
499 _Out_ PLARGE_INTEGER CurrentTime
500);
501
504NTAPI
506 _Out_ PULONG MinimumResolution,
507 _Out_ PULONG MaximumResolution,
508 _Out_ PULONG ActualResolution
509);
510
513NTAPI
515 _In_ HANDLE ThreadHandle,
517 _In_opt_ PVOID NormalContext,
520);
521
524NTAPI
526 _In_ HANDLE ThreadHandle,
527 _In_opt_ HANDLE UserApcReserveHandle,
529 _In_opt_ PVOID NormalContext,
532);
533
536NTAPI
538 _In_ PEXCEPTION_RECORD ExceptionRecord,
540 _In_ BOOLEAN SearchFrames
541);
542
545NTAPI
547 _In_ HANDLE ThreadHandle,
549);
550
553NTAPI
556 _In_ KPROFILE_SOURCE ClockSource
557);
558
561NTAPI
563 _In_ ULONG Selector1,
564 _In_ LDT_ENTRY LdtEntry1,
565 _In_ ULONG Selector2,
566 _In_ LDT_ENTRY LdtEntry2
567);
568
571NTAPI
573 _In_ PLARGE_INTEGER SystemTime,
574 _In_opt_ PLARGE_INTEGER NewSystemTime
575);
576
579NTAPI
581 _In_ ULONG RequestedResolution,
582 _In_ BOOLEAN SetOrUnset,
583 _Out_ PULONG ActualResolution
584);
585
588NTAPI
590 _In_ HANDLE ProfileHandle
591);
592
595NTAPI
597 _In_ HANDLE ProfileHandle
598);
599
602NTAPI
604 VOID
605);
606
609NTAPI
612 _In_ PVOID ControlData
613);
614
617NTAPI
619 _In_ ULONG RoutineIndex,
620 _In_ PVOID Argument,
621 _In_ ULONG ArgumentLength,
624);
625
628NTAPI
630 VOID
631);
632
635NTAPI
638 _In_ BOOLEAN TestAlert
639);
640
643NTAPI
648);
649
652NTAPI
654 _Out_ PHANDLE ProfileHandle,
656 _In_ PVOID ImageBase,
657 _In_ ULONG ImageSize,
658 _In_ ULONG Granularity,
660 _In_ ULONG ProfilingSize,
662 _In_ KAFFINITY ProcessorMask
663);
664
667NTAPI
671);
672
675NTAPI
679 _In_ ULONG NumberOfBytesToFlush
680);
681
684NTAPI
686 _In_ HANDLE ThreadHandle,
688);
689
691ULONG
692NTAPI
694 VOID
695);
696
699NTAPI
701 _In_ KPROFILE_SOURCE ProfileSource,
703);
704
707NTAPI
711);
712
715NTAPI
717 _Out_ PLARGE_INTEGER CurrentTime
718);
719
722NTAPI
724 _Out_ PULONG MinimumResolution,
725 _Out_ PULONG MaximumResolution,
726 _Out_ PULONG ActualResolution
727);
728
731NTAPI
733 _In_ HANDLE ThreadHandle,
735 _In_opt_ PVOID NormalContext,
738);
739
742NTAPI
744 _In_ PEXCEPTION_RECORD ExceptionRecord,
746 _In_ BOOLEAN SearchFrames
747);
748
751NTAPI
753 _In_ HANDLE ThreadHandle,
755);
756
759NTAPI
762 _In_ KPROFILE_SOURCE ClockSource
763);
764
767NTAPI
769 _In_ ULONG Selector1,
770 _In_ LDT_ENTRY LdtEntry1,
771 _In_ ULONG Selector2,
772 _In_ LDT_ENTRY LdtEntry2
773);
774
777NTAPI
779 _In_ PLARGE_INTEGER SystemTime,
780 _In_opt_ PLARGE_INTEGER NewSystemTime
781);
782
785NTAPI
787 _In_ ULONG RequestedResolution,
788 _In_ BOOLEAN SetOrUnset,
789 _Out_ PULONG ActualResolution
790);
791
794NTAPI
796 _In_ HANDLE ProfileHandle
797);
798
801NTAPI
803 _In_ HANDLE ProfileHandle
804);
805
808NTAPI
810 VOID
811);
812
815NTAPI
818 _In_ PVOID ControlData
819);
820
823NTAPI
825 _In_ ULONG RoutineIndex,
826 _In_ PVOID Argument,
827 _In_ ULONG ArgumentLength,
830);
831
834NTAPI
836 VOID
837);
838#endif
839
840#ifdef __cplusplus
841} // extern "C"
842#endif
_In_ PVOID _In_ ULONG _Out_ PVOID _In_ ULONG _Inout_ PULONG _In_ KPROCESSOR_MODE PreviousMode
Type
Definition: Type.h:7
unsigned char BOOLEAN
Definition: actypes.h:127
@ Invalid
Definition: asmpp.cpp:30
LONG NTSTATUS
Definition: precomp.h:26
__int64 * PLONG64
Definition: basetsd.h:177
#define NTSYSAPI
Definition: ntoskrnl.h:12
_Inout_ PIRP _In_ NTSTATUS ExceptionCode
Definition: cdprocs.h:1774
Definition: bufpool.h:45
_Out_ PKIRQL Irql
Definition: csq.h:179
ULONG_PTR KAFFINITY
Definition: compat.h:85
LONG KPRIORITY
Definition: compat.h:803
#define __cdecl
Definition: corecrt.h:121
#define DECLSPEC_NORETURN
Definition: corecrt.h:131
UCHAR KIRQL
Definition: env_spec_w32.h:591
KSPIN_LOCK * PKSPIN_LOCK
Definition: env_spec_w32.h:73
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
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
unsigned int Mask
Definition: fpcontrol.c:82
Status
Definition: gdiplustypes.h:25
_In_ ULONG Mode
Definition: hubbusif.h:303
#define BitScanReverse
Definition: interlocked.h:6
#define InterlockedBitTestAndSet
Definition: interlocked.h:30
#define BitScanForward
Definition: interlocked.h:5
#define InterlockedBitTestAndReset
Definition: interlocked.h:35
#define ASSERT(a)
Definition: mode.c:44
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3169
_In_ PVOID _In_ BOOLEAN Alertable
Definition: exfuncs.h:453
_In_ ULONG Number
Definition: haltypes.h:1872
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE ApcRoutine
Definition: iofuncs.h:726
NTSYSAPI NTSTATUS NTAPI ZwTestAlert(VOID)
NTSYSAPI NTSTATUS NTAPI ZwSetLdtEntries(_In_ ULONG Selector1, _In_ LDT_ENTRY LdtEntry1, _In_ ULONG Selector2, _In_ LDT_ENTRY LdtEntry2)
NTSYSAPI ULONG NTAPI ZwGetTickCount(VOID)
NTSYSAPI NTSTATUS NTAPI ZwStartProfile(_In_ HANDLE ProfileHandle)
NTSYSCALLAPI NTSTATUS NTAPI NtQueueApcThread(_In_ HANDLE ThreadHandle, _In_ PKNORMAL_ROUTINE ApcRoutine, _In_opt_ PVOID NormalContext, _In_opt_ PVOID SystemArgument1, _In_opt_ PVOID SystemArgument2)
VOID NTAPI KeSetTimeIncrement(_In_ ULONG MaxIncrement, _In_ ULONG MinIncrement)
VOID NTAPI KeProfileInterrupt(_In_ PKTRAP_FRAME TrapFrame)
NTSYSCALLAPI NTSTATUS NTAPI NtQueryPerformanceCounter(_Out_ PLARGE_INTEGER Counter, _Out_opt_ PLARGE_INTEGER Frequency)
VOID NTAPI KeSignalCallDpcDone(_In_ PVOID SystemArgument1)
VOID NTAPI KeSetEventBoostPriority(_In_ PKEVENT Event, _In_opt_ PKTHREAD *Thread)
NTSYSAPI NTSTATUS NTAPI ZwFlushInstructionCache(_In_ HANDLE ProcessHandle, _In_ PVOID BaseAddress, _In_ ULONG NumberOfBytesToFlush)
NTSYSCALLAPI NTSTATUS NTAPI NtRaiseException(_In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PCONTEXT Context, _In_ BOOLEAN SearchFrames)
Definition: except.c:173
NTSYSAPI NTSTATUS NTAPI ZwContinue(_In_ PCONTEXT Context, _In_ BOOLEAN TestAlert)
VOID NTAPI KiDeliverApc(_In_ KPROCESSOR_MODE PreviousMode, _Reserved_ PKEXCEPTION_FRAME ExceptionFrame, _In_ PKTRAP_FRAME TrapFrame)
NTSYSAPI NTSTATUS NTAPI ZwCallbackReturn(_In_ PVOID Result, _In_ ULONG ResultLength, _In_ NTSTATUS Status)
VOID FASTCALL KiAcquireSpinLock(_Inout_ PKSPIN_LOCK SpinLock)
BOOLEAN NTAPI KeIsAttachedProcess(VOID)
Definition: procobj.c:693
BOOLEAN NTAPI KeAddSystemServiceTable(_In_ PULONG_PTR Base, _In_opt_ PULONG Count, _In_ ULONG Limit, _In_ PUCHAR Number, _In_ ULONG Index)
VOID NTAPI KeProfileInterruptWithSource(_In_ PKTRAP_FRAME TrapFrame, _In_ KPROFILE_SOURCE Source)
VOID KeSetGdtSelector(_In_ ULONG Entry, _In_ ULONG Value1, _In_ ULONG Value2)
NTSYSAPI NTSTATUS NTAPI ZwVdmControl(_In_ ULONG ControlCode, _In_ PVOID ControlData)
FORCEINLINE KAFFINITY AFFINITY_MASK(ULONG Index)
Definition: kefuncs.h:39
FORCEINLINE BOOLEAN BitScanForwardAffinity(PULONG Index, KAFFINITY Mask)
Definition: kefuncs.h:45
VOID NTAPI KeInitializeApc(_In_ PKAPC Apc, _In_ PKTHREAD Thread, _In_ KAPC_ENVIRONMENT TargetEnvironment, _In_ PKKERNEL_ROUTINE KernelRoutine, _In_opt_ PKRUNDOWN_ROUTINE RundownRoutine, _In_ PKNORMAL_ROUTINE NormalRoutine, _In_ KPROCESSOR_MODE Mode, _In_ PVOID Context)
NTSYSCALLAPI NTSTATUS NTAPI NtCreateProfileEx(_Out_ PHANDLE ProfileHandle, _In_ HANDLE ProcessHandle, _In_ PVOID ImageBase, _In_ SIZE_T ImageSize, _In_ ULONG Granularity, _Out_ PVOID Buffer, _In_ ULONG ProfilingSize, _In_ KPROFILE_SOURCE Source, _In_ USHORT GroupCount, _In_reads_(GroupCount) PGROUP_AFFINITY Affinity)
NTSYSAPI NTSTATUS NTAPI ZwYieldExecution(VOID)
NTSYSCALLAPI NTSTATUS NTAPI NtQueueApcThreadEx(_In_ HANDLE ThreadHandle, _In_opt_ HANDLE UserApcReserveHandle, _In_ PKNORMAL_ROUTINE ApcRoutine, _In_opt_ PVOID NormalContext, _In_opt_ PVOID SystemArgument1, _In_opt_ PVOID SystemArgument2)
NTSYSCALLAPI NTSTATUS NTAPI NtVdmControl(_In_ ULONG ControlCode, _In_ PVOID ControlData)
NTSYSCALLAPI NTSTATUS NTAPI NtSetLdtEntries(_In_ ULONG Selector1, _In_ LDT_ENTRY LdtEntry1, _In_ ULONG Selector2, _In_ LDT_ENTRY LdtEntry2)
BOOLEAN NTAPI KeConnectInterrupt(_Inout_ PKINTERRUPT InterruptObject)
VOID NTAPI KeFlushEntireTb(_In_ BOOLEAN Invalid, _In_ BOOLEAN AllProcessors)
NTSYSCALLAPI NTSTATUS NTAPI NtCreateProfile(_Out_ PHANDLE ProfileHandle, _In_ HANDLE ProcessHandle, _In_ PVOID ImageBase, _In_ SIZE_T ImageSize, _In_ ULONG Granularity, _Out_ PVOID Buffer, _In_ ULONG ProfilingSize, _In_ KPROFILE_SOURCE Source, _In_ KAFFINITY ProcessorMask)
NTSYSAPI NTSTATUS NTAPI ZwQueryPerformanceCounter(_Out_ PLARGE_INTEGER Counter, _Out_opt_ PLARGE_INTEGER Frequency)
BOOLEAN FASTCALL KeTryToAcquireQueuedSpinLockRaiseToSynch(_In_ KSPIN_LOCK_QUEUE_NUMBER LockNumber, _In_ PKIRQL OldIrql)
KAFFINITY NTAPI KeSetAffinityThread(_Inout_ PKTHREAD Thread, _In_ KAFFINITY Affinity)
NTSYSAPI NTSTATUS NTAPI ZwStopProfile(_In_ HANDLE ProfileHandle)
NTSYSCALLAPI NTSTATUS NTAPI NtTestAlert(VOID)
Definition: state.c:465
VOID NTAPI KeEnterKernelDebugger(VOID)
Definition: bug.c:1445
VOID NTAPI KiCoprocessorError(VOID)
Definition: cpu.c:1329
NTSTATUS NTAPI KeUserModeCallback(_In_ ULONG FunctionID, _In_reads_opt_(InputLength) PVOID InputBuffer, _In_ ULONG InputLength, _Outptr_result_buffer_(*OutputLength) PVOID *OutputBuffer, _Out_ PULONG OutputLength)
NTSYSAPI NTSTATUS NTAPI ZwQuerySystemTime(_Out_ PLARGE_INTEGER CurrentTime)
NTSYSCALLAPI NTSTATUS NTAPI NtSetTimerResolution(_In_ ULONG RequestedResolution, _In_ BOOLEAN SetOrUnset, _Out_ PULONG ActualResolution)
NTSYSAPI NTSTATUS NTAPI ZwQueryTimerResolution(_Out_ PULONG MinimumResolution, _Out_ PULONG MaximumResolution, _Out_ PULONG ActualResolution)
NTSYSCALLAPI NTSTATUS NTAPI NtSetIntervalProfile(_In_ ULONG Interval, _In_ KPROFILE_SOURCE ClockSource)
NTSTATUS NTAPI Ke386CallBios(_In_ ULONG BiosCommand, _Inout_ PCONTEXT BiosArguments)
BOOLEAN NTAPI KiIpiServiceRoutine(_In_ PKTRAP_FRAME TrapFrame, _Reserved_ PKEXCEPTION_FRAME ExceptionFrame)
FORCEINLINE BOOLEAN InterlockedBitTestAndResetAffinity(volatile KAFFINITY *Affinity, ULONG Index)
Definition: kefuncs.h:73
VOID FASTCALL KeAcquireInStackQueuedSpinLockRaiseToSynch(_In_ PKSPIN_LOCK SpinLock, _In_ PKLOCK_QUEUE_HANDLE LockHandle)
NTSYSAPI NTSTATUS NTAPI ZwSetTimerResolution(_In_ ULONG RequestedResolution, _In_ BOOLEAN SetOrUnset, _Out_ PULONG ActualResolution)
NTSYSCALLAPI NTSTATUS NTAPI NtSetContextThread(_In_ HANDLE ThreadHandle, _In_ PCONTEXT Context)
NTSYSAPI NTSTATUS NTAPI ZwSetSystemTime(_In_ PLARGE_INTEGER SystemTime, _In_opt_ PLARGE_INTEGER NewSystemTime)
NTSYSCALLAPI NTSTATUS NTAPI NtStartProfile(_In_ HANDLE ProfileHandle)
BOOLEAN NTAPI KeDisconnectInterrupt(_Inout_ PKINTERRUPT InterruptObject)
NTSYSCALLAPI NTSTATUS NTAPI NtDelayExecution(_In_ BOOLEAN Alertable, _In_ LARGE_INTEGER *Interval)
NTSYSCALLAPI NTSTATUS NTAPI NtStopProfile(_In_ HANDLE ProfileHandle)
VOID NTAPI KiDispatchInterrupt(VOID)
Definition: thrdini.c:305
NTSYSAPI NTSTATUS NTAPI ZwRaiseException(_In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PCONTEXT Context, _In_ BOOLEAN SearchFrames)
BOOLEAN NTAPI KeInsertQueueApc(_In_ PKAPC Apc, _In_ PVOID SystemArgument1, _In_ PVOID SystemArgument2, _In_ KPRIORITY PriorityBoost)
DECLSPEC_NORETURN VOID __cdecl KiUnexpectedInterrupt(VOID)
Definition: interrupt.c:51
NTSYSCALLAPI NTSTATUS NTAPI NtGetContextThread(_In_ HANDLE ThreadHandle, _Out_ PCONTEXT Context)
NTSYSAPI NTSTATUS NTAPI ZwW32Call(_In_ ULONG RoutineIndex, _In_ PVOID Argument, _In_ ULONG ArgumentLength, _Out_opt_ PVOID *Result, _Out_opt_ PULONG ResultLength)
NTSYSCALLAPI NTSTATUS NTAPI NtContinue(_In_ PCONTEXT Context, _In_ BOOLEAN TestAlert)
Definition: except.c:216
VOID NTAPI KeInitializeInterrupt(_Out_ PKINTERRUPT InterruptObject, _In_ PKSERVICE_ROUTINE ServiceRoutine, _In_ PVOID ServiceContext, _In_ PKSPIN_LOCK SpinLock, _In_ ULONG Vector, _In_ KIRQL Irql, _In_ KIRQL SynchronizeIrql, _In_ KINTERRUPT_MODE InterruptMode, _In_ BOOLEAN ShareVector, _In_ CHAR ProcessorNumber, _In_ BOOLEAN FloatingSave)
NTSYSAPI NTSTATUS NTAPI ZwCreateProfile(_Out_ PHANDLE ProfileHandle, _In_ HANDLE ProcessHandle, _In_ PVOID ImageBase, _In_ ULONG ImageSize, _In_ ULONG Granularity, _Out_ PVOID Buffer, _In_ ULONG ProfilingSize, _In_ KPROFILE_SOURCE Source, _In_ KAFFINITY ProcessorMask)
NTSTATUS NTAPI KeRaiseUserException(_In_ NTSTATUS ExceptionCode)
Definition: exp.c:266
NTSYSAPI NTSTATUS NTAPI ZwSetContextThread(_In_ HANDLE ThreadHandle, _In_ PCONTEXT Context)
NTSYSAPI NTSTATUS NTAPI ZwSetIntervalProfile(_In_ ULONG Interval, _In_ KPROFILE_SOURCE ClockSource)
VOID FASTCALL KiReleaseSpinLock(_Inout_ PKSPIN_LOCK SpinLock)
NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemTime(_Out_ PLARGE_INTEGER CurrentTime)
PKPROCESS NTAPI KeGetCurrentProcess(VOID)
VOID NTAPI KeGenericCallDpc(_In_ PKDEFERRED_ROUTINE Routine, _In_ PVOID Context)
NTSYSAPI NTSTATUS NTAPI ZwDelayExecution(_In_ BOOLEAN Alertable, _In_ LARGE_INTEGER *Interval)
KIRQL FASTCALL KeAcquireQueuedSpinLockRaiseToSynch(_In_ KSPIN_LOCK_QUEUE_NUMBER LockNumber)
NTSYSCALLAPI NTSTATUS NTAPI NtW32Call(_In_ ULONG RoutineIndex, _In_ PVOID Argument, _In_ ULONG ArgumentLength, _Out_opt_ PVOID *Result, _Out_opt_ PULONG ResultLength)
NTSYSAPI NTSTATUS NTAPI ZwQueueApcThread(_In_ HANDLE ThreadHandle, _In_ PKNORMAL_ROUTINE ApcRoutine, _In_opt_ PVOID NormalContext, _In_opt_ PVOID SystemArgument1, _In_opt_ PVOID SystemArgument2)
FORCEINLINE BOOLEAN BitScanReverseAffinity(PULONG Index, KAFFINITY Mask)
Definition: kefuncs.h:54
VOID NTAPI KeSetProfileIrql(_In_ KIRQL ProfileIrql)
NTSYSCALLAPI NTSTATUS NTAPI NtSetSystemTime(_In_ PLARGE_INTEGER SystemTime, _In_opt_ PLARGE_INTEGER NewSystemTime)
FORCEINLINE BOOLEAN InterlockedBitTestAndSetAffinity(volatile KAFFINITY *Affinity, ULONG Index)
Definition: kefuncs.h:63
NTSYSAPI NTSTATUS NTAPI ZwQueryIntervalProfile(_In_ KPROFILE_SOURCE ProfileSource, _Out_ PULONG Interval)
NTSYSAPI NTSTATUS NTAPI ZwGetContextThread(_In_ HANDLE ThreadHandle, _Out_ PCONTEXT Context)
NTSYSCALLAPI NTSTATUS NTAPI NtQueryIntervalProfile(_In_ KPROFILE_SOURCE ProfileSource, _Out_ PULONG Interval)
BOOLEAN NTAPI KeSignalCallDpcSynchronize(_In_ PVOID SystemArgument2)
BOOLEAN NTAPI KeIsExecutingDpc(VOID)
Definition: dpc.c:965
VOID NTAPI KeTerminateThread(_In_ KPRIORITY Increment)
NTSYSCALLAPI NTSTATUS NTAPI NtQueryTimerResolution(_Out_ PULONG MinimumResolution, _Out_ PULONG MaximumResolution, _Out_ PULONG ActualResolution)
VOID NTAPI KeSetDmaIoCoherency(_In_ ULONG Coherency)
NTSYSCALLAPI NTSTATUS NTAPI NtCallbackReturn(_In_ PVOID Result, _In_ ULONG ResultLength, _In_ NTSTATUS Status)
Definition: usercall.c:332
@ InterruptObject
Definition: ketypes.h:428
VOID(NTAPI * PKRUNDOWN_ROUTINE)(IN struct _KAPC *Apc)
Definition: ketypes.h:875
VOID(NTAPI * PKKERNEL_ROUTINE)(IN struct _KAPC *Apc, IN OUT PKNORMAL_ROUTINE *NormalRoutine OPTIONAL, IN OUT PVOID *NormalContext OPTIONAL, IN OUT PVOID *SystemArgument1 OPTIONAL, IN OUT PVOID *SystemArgument2 OPTIONAL)
Definition: ketypes.h:879
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:869
enum _KAPC_ENVIRONMENT KAPC_ENVIRONMENT
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2486
DWORD Interval
Definition: netstat.c:30
#define _In_reads_(s)
Definition: no_sal2.h:168
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_
Definition: no_sal2.h:162
#define _Outptr_result_buffer_(s)
Definition: no_sal2.h:286
#define _Out_
Definition: no_sal2.h:160
#define _In_reads_opt_(s)
Definition: no_sal2.h:222
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Reserved_
Definition: no_sal2.h:504
int Count
Definition: noreturn.cpp:7
#define FASTCALL
Definition: nt_native.h:50
#define NTSYSCALLAPI
Definition: ntbasedef.h:208
PCONFIGURATION_COMPONENT_DATA NTAPI KeFindConfigurationNextEntry(_In_ PCONFIGURATION_COMPONENT_DATA Child, _In_ CONFIGURATION_CLASS Class, _In_ CONFIGURATION_TYPE Type, _In_opt_ PULONG ComponentKey, _Inout_ PCONFIGURATION_COMPONENT_DATA *NextLink)
Definition: config.c:21
PCONFIGURATION_COMPONENT_DATA NTAPI KeFindConfigurationEntry(_In_ PCONFIGURATION_COMPONENT_DATA Child, _In_ CONFIGURATION_CLASS Class, _In_ CONFIGURATION_TYPE Type, _In_opt_ PULONG ComponentKey)
Definition: config.c:108
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
unsigned short USHORT
Definition: pedump.c:61
#define NtGetTickCount
Definition: rtlp.h:163
enum _KINTERRUPT_MODE KINTERRUPT_MODE
enum _CONFIGURATION_CLASS CONFIGURATION_CLASS
enum _CONFIGURATION_TYPE CONFIGURATION_TYPE
_In_ PVOID Context
Definition: storport.h:2269
base of all file and directory entries
Definition: entries.h:83
Definition: ketypes.h:599
Definition: compat.h:777
static LARGE_INTEGER Frequency
Definition: clock.c:41
static LARGE_INTEGER Counter
Definition: clock.c:43
uint32_t * PULONG_PTR
Definition: typedefs.h:65
uint32_t * PULONG
Definition: typedefs.h:59
#define NTAPI
Definition: typedefs.h:36
ULONG_PTR SIZE_T
Definition: typedefs.h:80
int32_t * PLONG
Definition: typedefs.h:58
unsigned char * PUCHAR
Definition: typedefs.h:53
uint32_t ULONG
Definition: typedefs.h:59
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ DEVICE_REGISTRY_PROPERTY _In_ ULONG _Out_ PULONG ResultLength
Definition: wdfdevice.h:3782
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFDEVICE Child
Definition: wdffdo.h:536
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR OutputBuffer
Definition: wdfiotarget.h:863
_Must_inspect_result_ _In_ WDFIOTARGET _In_opt_ WDFREQUEST _In_opt_ PWDF_MEMORY_DESCRIPTOR InputBuffer
Definition: wdfiotarget.h:953
_In_ WDFREQUEST _In_ NTSTATUS _In_ CCHAR PriorityBoost
Definition: wdfrequest.h:1016
_Must_inspect_result_ _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFSPINLOCK * SpinLock
Definition: wdfsync.h:228
#define FORCEINLINE
Definition: wdftypes.h:67
NTSYSAPI ULONG WINAPI NtGetCurrentProcessorNumber(void)
Definition: sysinfo.c:3062
NTSYSAPI NTSTATUS WINAPI NtYieldExecution(void)
Definition: thrdschd.c:887
enum _KPROFILE_SOURCE KPROFILE_SOURCE
_IRQL_requires_same_ typedef _In_ ULONG ControlCode
Definition: wmitypes.h:55
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
Definition: wsk.h:409
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
Definition: halfuncs.h:174
_In_ PKSERVICE_ROUTINE ServiceRoutine
Definition: iofuncs.h:800
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG _In_ KIRQL _In_ KIRQL _In_ KINTERRUPT_MODE InterruptMode
Definition: iofuncs.h:806
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG _In_ KIRQL _In_ KIRQL SynchronizeIrql
Definition: iofuncs.h:805
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG _In_ KIRQL _In_ KIRQL _In_ KINTERRUPT_MODE _In_ BOOLEAN _In_ KAFFINITY _In_ BOOLEAN FloatingSave
Definition: iofuncs.h:809
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG _In_ KIRQL _In_ KIRQL _In_ KINTERRUPT_MODE _In_ BOOLEAN ShareVector
Definition: iofuncs.h:807
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID ServiceContext
Definition: iofuncs.h:801
_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
_In_ LONG _In_ LONG Limit
Definition: kefuncs.h:304
enum _KSPIN_LOCK_QUEUE_NUMBER KSPIN_LOCK_QUEUE_NUMBER
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
KSERVICE_ROUTINE * PKSERVICE_ROUTINE
Definition: ketypes.h:564
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:740
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:741
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:742
char CHAR
Definition: xmlstorage.h:175