ReactOS  0.4.13-dev-247-g0f29b3f
kefuncs.h
Go to the documentation of this file.
1 /*++ NDK Version: 0098
2 
3 Copyright (c) Alex Ionescu. All rights reserved.
4 
5 Header Name:
6 
7  kefuncs.h
8 
9 Abstract:
10 
11  Functions definitions for the Kernel services.
12 
13 Author:
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 #ifndef NTOS_MODE_USER
30 
31 //
32 // APC Functions
33 //
34 VOID
35 NTAPI
37  _In_ PKAPC Apc,
39  _In_ KAPC_ENVIRONMENT TargetEnvironment,
40  _In_ PKKERNEL_ROUTINE KernelRoutine,
41  _In_opt_ PKRUNDOWN_ROUTINE RundownRoutine,
42  _In_ PKNORMAL_ROUTINE NormalRoutine,
45 );
46 
47 BOOLEAN
48 NTAPI
50  _In_ PKAPC Apc,
54 );
55 
56 VOID
57 NTAPI
60 #ifdef _M_AMD64
61  _In_ PKEXCEPTION_FRAME ExceptionFrame,
62 #else
63  _Reserved_ PKEXCEPTION_FRAME ExceptionFrame,
64 #endif
65  _In_ PKTRAP_FRAME TrapFrame
66 );
67 
68 //
69 // Process/Thread Functions
70 //
71 VOID
72 NTAPI
75 );
76 
77 BOOLEAN
78 NTAPI
80  VOID
81 );
82 
83 VOID
84 NTAPI
88 );
89 
91 NTAPI
95 );
96 
98 NTAPI
100  VOID
101 );
102 
103 BOOLEAN
104 NTAPI
108  _In_ ULONG Limit,
111 );
112 
113 //
114 // Spinlock Functions
115 //
116 VOID
117 FASTCALL
120 );
121 
122 VOID
123 FASTCALL
126 );
127 
128 KIRQL
129 FASTCALL
131  _In_ KSPIN_LOCK_QUEUE_NUMBER LockNumber
132 );
133 
134 BOOLEAN
135 FASTCALL
137  _In_ KSPIN_LOCK_QUEUE_NUMBER LockNumber,
139 );
140 
141 VOID
142 FASTCALL
146 );
147 
148 
149 //
150 // Interrupt Functions
151 //
152 VOID
153 NTAPI
159  _In_ ULONG Vector,
160  _In_ KIRQL Irql,
164  _In_ CHAR ProcessorNumber,
166 );
167 
168 BOOLEAN
169 NTAPI
172 );
173 
174 BOOLEAN
175 NTAPI
178 );
179 
180 VOID
181 NTAPI
183  VOID
184 );
185 
186 VOID
187 NTAPI
189  VOID
190 );
191 
193 VOID
194 __cdecl
196  VOID
197 );
198 
199 VOID
200 NTAPI
202  VOID
203 );
204 
205 BOOLEAN
206 NTAPI
208  VOID
209 );
210 
211 BOOLEAN
212 NTAPI
214  _In_ PKTRAP_FRAME TrapFrame,
215 #ifdef _M_AMD64
216  _In_ PKEXCEPTION_FRAME ExceptionFrame
217 #else
218  _Reserved_ PKEXCEPTION_FRAME ExceptionFrame
219 #endif
220 );
221 
222 //
223 // Generic DPC Routines
224 //
225 VOID
226 NTAPI
228  _In_ PKDEFERRED_ROUTINE Routine,
230 );
231 
232 VOID
233 NTAPI
236 );
237 
238 BOOLEAN
239 NTAPI
242 );
243 
244 //
245 // ARC Configuration Functions. Only enabled if you have ARC Support
246 //
247 #ifdef _ARC_
248 INIT_FUNCTION
250 NTAPI
255  _In_opt_ PULONG ComponentKey,
257 );
258 
259 INIT_FUNCTION
261 NTAPI
266  _In_opt_ PULONG ComponentKey
267 );
268 #endif
269 
270 //
271 // Low-level Hardware/CPU Control Functions
272 //
273 VOID
274 NTAPI
276  _In_ BOOLEAN Invalid,
277  _In_ BOOLEAN AllProcessors
278 );
279 
280 VOID
281 NTAPI
283  _In_ ULONG Coherency
284 );
285 
286 VOID
288  _In_ ULONG Entry,
289  _In_ ULONG Value1,
290  _In_ ULONG Value2
291 );
292 
293 VOID
294 NTAPI
296  _In_ PKTRAP_FRAME TrapFrame
297 );
298 
299 VOID
300 NTAPI
302  _In_ PKTRAP_FRAME TrapFrame,
304 );
305 
306 VOID
307 NTAPI
309  _In_ KIRQL ProfileIrql
310 );
311 
312 VOID
313 NTAPI
315  _In_ ULONG MaxIncrement,
316  _In_ ULONG MinIncrement
317 );
318 
319 NTSTATUS
320 NTAPI
322  _In_ ULONG BiosCommand,
323  _Inout_ PCONTEXT BiosArguments
324 );
325 
326 //
327 // Misc. Functions
328 //
329 NTSTATUS
330 NTAPI
332  _In_ ULONG FunctionID,
333  _In_reads_opt_(InputLength) PVOID InputBuffer,
334  _In_ ULONG InputLength,
335  _Outptr_result_buffer_(*OutputLength) PVOID *OutputBuffer,
336  _Out_ PULONG OutputLength
337 );
338 
339 NTSTATUS
340 NTAPI
343 );
344 
345 #endif
346 
347 //
348 // Native Calls
349 //
351 NTSTATUS
352 NTAPI
353 NtContinue(
355  _In_ BOOLEAN TestAlert
356 );
357 
359 NTSTATUS
360 NTAPI
362  _In_ PVOID Result,
365 );
366 
368 NTSTATUS
369 NTAPI
371  _Out_ PHANDLE ProfileHandle,
373  _In_ PVOID ImageBase,
374  _In_ SIZE_T ImageSize,
375  _In_ ULONG Granularity,
377  _In_ ULONG ProfilingSize,
379  _In_ KAFFINITY ProcessorMask
380 );
381 
383 NTSTATUS
384 NTAPI
386  _Out_ PHANDLE ProfileHandle,
388  _In_ PVOID ImageBase,
389  _In_ SIZE_T ImageSize,
390  _In_ ULONG Granularity,
392  _In_ ULONG ProfilingSize,
394  _In_ USHORT GroupCount,
396 );
397 
399 NTSTATUS
400 NTAPI
404 );
405 
406 ULONG
407 NTAPI
409  VOID
410 );
411 
413 NTSTATUS
414 NTAPI
416  _In_ HANDLE ThreadHandle,
418 );
419 
421 ULONG
422 NTAPI
424  VOID
425 );
426 
428 NTSTATUS
429 NTAPI
431  _In_ KPROFILE_SOURCE ProfileSource,
433 );
434 
436 NTSTATUS
437 NTAPI
441 );
442 
444 NTSTATUS
445 NTAPI
447  _Out_ PLARGE_INTEGER CurrentTime
448 );
449 
451 NTSTATUS
452 NTAPI
454  _Out_ PULONG MinimumResolution,
455  _Out_ PULONG MaximumResolution,
456  _Out_ PULONG ActualResolution
457 );
458 
460 NTSTATUS
461 NTAPI
463  _In_ HANDLE ThreadHandle,
465  _In_opt_ PVOID NormalContext,
468 );
469 
471 NTSTATUS
472 NTAPI
474  _In_ PEXCEPTION_RECORD ExceptionRecord,
476  _In_ BOOLEAN SearchFrames
477 );
478 
480 NTSTATUS
481 NTAPI
483  _In_ HANDLE ThreadHandle,
485 );
486 
488 NTSTATUS
489 NTAPI
492  _In_ KPROFILE_SOURCE ClockSource
493 );
494 
496 NTSTATUS
497 NTAPI
499  _In_ ULONG Selector1,
500  _In_ LDT_ENTRY LdtEntry1,
501  _In_ ULONG Selector2,
502  _In_ LDT_ENTRY LdtEntry2
503 );
504 
506 NTSTATUS
507 NTAPI
509  _In_ PLARGE_INTEGER SystemTime,
510  _In_opt_ PLARGE_INTEGER NewSystemTime
511 );
512 
514 NTSTATUS
515 NTAPI
517  _In_ ULONG RequestedResolution,
518  _In_ BOOLEAN SetOrUnset,
519  _Out_ PULONG ActualResolution
520 );
521 
523 NTSTATUS
524 NTAPI
526  _In_ HANDLE ProfileHandle
527 );
528 
530 NTSTATUS
531 NTAPI
533  _In_ HANDLE ProfileHandle
534 );
535 
537 NTSTATUS
538 NTAPI
540  VOID
541 );
542 
544 NTSTATUS
545 NTAPI
548  _In_ PVOID ControlData
549 );
550 
552 NTSTATUS
553 NTAPI
554 NtW32Call(
555  _In_ ULONG RoutineIndex,
556  _In_ PVOID Argument,
557  _In_ ULONG ArgumentLength,
560 );
561 
563 NTSTATUS
564 NTAPI
566  VOID
567 );
568 
569 NTSYSAPI
570 NTSTATUS
571 NTAPI
572 ZwContinue(
574  _In_ BOOLEAN TestAlert
575 );
576 
577 NTSYSAPI
578 NTSTATUS
579 NTAPI
581  _In_ PVOID Result,
584 );
585 
586 NTSYSAPI
587 NTSTATUS
588 NTAPI
590  _Out_ PHANDLE ProfileHandle,
592  _In_ PVOID ImageBase,
593  _In_ ULONG ImageSize,
594  _In_ ULONG Granularity,
596  _In_ ULONG ProfilingSize,
598  _In_ KAFFINITY ProcessorMask
599 );
600 
601 NTSYSAPI
602 NTSTATUS
603 NTAPI
607 );
608 
609 NTSYSAPI
610 NTSTATUS
611 NTAPI
615  _In_ ULONG NumberOfBytesToFlush
616 );
617 
618 NTSYSAPI
619 NTSTATUS
620 NTAPI
622  _In_ HANDLE ThreadHandle,
624 );
625 
626 NTSYSAPI
627 ULONG
628 NTAPI
630  VOID
631 );
632 
633 NTSYSAPI
634 NTSTATUS
635 NTAPI
637  _In_ KPROFILE_SOURCE ProfileSource,
639 );
640 
641 NTSYSAPI
642 NTSTATUS
643 NTAPI
647 );
648 
649 NTSYSAPI
650 NTSTATUS
651 NTAPI
653  _Out_ PLARGE_INTEGER CurrentTime
654 );
655 
656 NTSYSAPI
657 NTSTATUS
658 NTAPI
660  _Out_ PULONG MinimumResolution,
661  _Out_ PULONG MaximumResolution,
662  _Out_ PULONG ActualResolution
663 );
664 
665 NTSYSAPI
666 NTSTATUS
667 NTAPI
669  _In_ HANDLE ThreadHandle,
671  _In_opt_ PVOID NormalContext,
674 );
675 
676 NTSYSAPI
677 NTSTATUS
678 NTAPI
680  _In_ PEXCEPTION_RECORD ExceptionRecord,
682  _In_ BOOLEAN SearchFrames
683 );
684 
685 NTSYSAPI
686 NTSTATUS
687 NTAPI
689  _In_ HANDLE ThreadHandle,
691 );
692 
693 NTSYSAPI
694 NTSTATUS
695 NTAPI
698  _In_ KPROFILE_SOURCE ClockSource
699 );
700 
701 NTSYSAPI
702 NTSTATUS
703 NTAPI
705  _In_ ULONG Selector1,
706  _In_ LDT_ENTRY LdtEntry1,
707  _In_ ULONG Selector2,
708  _In_ LDT_ENTRY LdtEntry2
709 );
710 
711 NTSYSAPI
712 NTSTATUS
713 NTAPI
715  _In_ PLARGE_INTEGER SystemTime,
716  _In_opt_ PLARGE_INTEGER NewSystemTime
717 );
718 
719 NTSYSAPI
720 NTSTATUS
721 NTAPI
723  _In_ ULONG RequestedResolution,
724  _In_ BOOLEAN SetOrUnset,
725  _Out_ PULONG ActualResolution
726 );
727 
728 NTSYSAPI
729 NTSTATUS
730 NTAPI
732  _In_ HANDLE ProfileHandle
733 );
734 
735 NTSYSAPI
736 NTSTATUS
737 NTAPI
739  _In_ HANDLE ProfileHandle
740 );
741 
742 NTSYSAPI
743 NTSTATUS
744 NTAPI
746  VOID
747 );
748 
749 NTSYSAPI
750 NTSTATUS
751 NTAPI
754  _In_ PVOID ControlData
755 );
756 
757 NTSYSAPI
758 NTSTATUS
759 NTAPI
760 ZwW32Call(
761  _In_ ULONG RoutineIndex,
762  _In_ PVOID Argument,
763  _In_ ULONG ArgumentLength,
766 );
767 
768 NTSYSAPI
769 NTSTATUS
770 NTAPI
772  VOID
773 );
774 #endif
NTSYSAPI NTSTATUS NTAPI ZwW32Call(_In_ ULONG RoutineIndex, _In_ PVOID Argument, _In_ ULONG ArgumentLength, _Out_opt_ PVOID *Result, _Out_opt_ PULONG ResultLength)
IN CINT OUT PVOID IN ULONG OUT PULONG ResultLength
Definition: conport.c:47
NTSYSAPI NTSTATUS NTAPI ZwQueryPerformanceCounter(_Out_ PLARGE_INTEGER Counter, _Out_opt_ PLARGE_INTEGER Frequency)
_Inout_ PIRP _In_ NTSTATUS ExceptionCode
Definition: cdprocs.h:1782
BOOLEAN NTAPI KeDisconnectInterrupt(_Inout_ PKINTERRUPT InterruptObject)
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)
VOID NTAPI KiCoprocessorError(VOID)
Definition: cpu.c:1350
NTSYSCALLAPI NTSTATUS NTAPI NtYieldExecution(VOID)
Definition: thrdschd.c:744
enum _KPROFILE_SOURCE KPROFILE_SOURCE
NTSYSAPI NTSTATUS NTAPI ZwFlushInstructionCache(_In_ HANDLE ProcessHandle, _In_ PVOID BaseAddress, _In_ ULONG NumberOfBytesToFlush)
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)
NTSYSCALLAPI NTSTATUS NTAPI NtSetContextThread(_In_ HANDLE ThreadHandle, _In_ PCONTEXT Context)
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 ZwTestAlert(VOID)
_In_ LONG Count
Definition: kefuncs.h:328
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG _In_ KIRQL _In_ KIRQL _In_ KINTERRUPT_MODE InterruptMode
Definition: iofuncs.h:798
BOOLEAN NTAPI KeConnectInterrupt(_Inout_ PKINTERRUPT InterruptObject)
VOID NTAPI KeEnterKernelDebugger(VOID)
Definition: bug.c:1480
KAFFINITY NTAPI KeSetAffinityThread(_Inout_ PKTHREAD Thread, _In_ KAFFINITY Affinity)
Type
Definition: Type.h:6
enum _KAPC_ENVIRONMENT KAPC_ENVIRONMENT
#define __cdecl
Definition: accygwin.h:79
_In_ ULONG Mode
Definition: hubbusif.h:303
_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:798
NTSYSAPI NTSTATUS NTAPI ZwStopProfile(_In_ HANDLE ProfileHandle)
unsigned char * PUCHAR
Definition: retypes.h:3
#define _In_reads_(size)
Definition: no_sal2.h:228
char CHAR
Definition: xmlstorage.h:175
VOID NTAPI KiDeliverApc(_In_ KPROCESSOR_MODE PreviousMode, _Reserved_ PKEXCEPTION_FRAME ExceptionFrame, _In_ PKTRAP_FRAME TrapFrame)
BOOLEAN FASTCALL KeTryToAcquireQueuedSpinLockRaiseToSynch(_In_ KSPIN_LOCK_QUEUE_NUMBER LockNumber, _In_ PKIRQL OldIrql)
BOOLEAN NTAPI KeIsAttachedProcess(VOID)
Definition: procobj.c:690
NTSYSAPI NTSTATUS NTAPI ZwStartProfile(_In_ HANDLE ProfileHandle)
LONG NTSTATUS
Definition: precomp.h:26
NTSYSAPI NTSTATUS NTAPI ZwRaiseException(_In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PCONTEXT Context, _In_ BOOLEAN SearchFrames)
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2327
NTSYSAPI NTSTATUS NTAPI ZwDelayExecution(_In_ BOOLEAN Alertable, _In_ LARGE_INTEGER *Interval)
NTSYSCALLAPI NTSTATUS NTAPI NtQuerySystemTime(_Out_ PLARGE_INTEGER CurrentTime)
NTSYSCALLAPI NTSTATUS NTAPI NtStopProfile(_In_ HANDLE ProfileHandle)
NTSYSCALLAPI NTSTATUS NTAPI NtQueryIntervalProfile(_In_ KPROFILE_SOURCE ProfileSource, _Out_ PULONG Interval)
#define NTSYSCALLAPI
Definition: ntbasedef.h:204
VOID FASTCALL KiAcquireSpinLock(_Inout_ PKSPIN_LOCK SpinLock)
NTSYSAPI ULONG NTAPI ZwGetTickCount(VOID)
VOID NTAPI KeSetEventBoostPriority(_In_ PKEVENT Event, _In_opt_ PKTHREAD *Thread)
NTSYSAPI NTSTATUS NTAPI ZwGetContextThread(_In_ HANDLE ThreadHandle, _Out_ PCONTEXT Context)
BOOLEAN NTAPI KeInsertQueueApc(_In_ PKAPC Apc, _In_ PVOID SystemArgument1, _In_ PVOID SystemArgument2, _In_ KPRIORITY PriorityBoost)
KSPIN_LOCK * PKSPIN_LOCK
Definition: env_spec_w32.h:73
BOOLEAN NTAPI KeIsExecutingDpc(VOID)
Definition: dpc.c:946
VOID NTAPI KeProfileInterruptWithSource(_In_ PKTRAP_FRAME TrapFrame, _In_ KPROFILE_SOURCE Source)
#define FASTCALL
Definition: nt_native.h:50
#define NTSYSAPI
Definition: ntoskrnl.h:14
_Out_ PKIRQL Irql
Definition: csq.h:179
#define DECLSPEC_NORETURN
Definition: ntbasedef.h:176
LONG KPRIORITY
Definition: compat.h:454
CHAR InputBuffer[80]
Definition: conmgr.c:33
#define _In_opt_
Definition: no_sal2.h:213
NTSYSCALLAPI NTSTATUS NTAPI NtSetSystemTime(_In_ PLARGE_INTEGER SystemTime, _In_opt_ PLARGE_INTEGER NewSystemTime)
NTSYSCALLAPI NTSTATUS NTAPI NtSetLdtEntries(_In_ ULONG Selector1, _In_ LDT_ENTRY LdtEntry1, _In_ ULONG Selector2, _In_ LDT_ENTRY LdtEntry2)
KSERVICE_ROUTINE * PKSERVICE_ROUTINE
Definition: ketypes.h:500
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK SpinLock
Definition: iofuncs.h:798
NTSYSAPI NTSTATUS NTAPI ZwContinue(_In_ PCONTEXT Context, _In_ BOOLEAN TestAlert)
NTSYSAPI NTSTATUS NTAPI ZwCallbackReturn(_In_ PVOID Result, _In_ ULONG ResultLength, _In_ NTSTATUS Status)
NTSYSCALLAPI NTSTATUS NTAPI NtRaiseException(_In_ PEXCEPTION_RECORD ExceptionRecord, _In_ PCONTEXT Context, _In_ BOOLEAN SearchFrames)
UCHAR KIRQL
Definition: env_spec_w32.h:591
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
NTSYSAPI NTSTATUS NTAPI ZwQueryTimerResolution(_Out_ PULONG MinimumResolution, _Out_ PULONG MaximumResolution, _Out_ PULONG ActualResolution)
_In_ CCHAR PriorityBoost
Definition: iofuncs.h:763
VOID NTAPI KeSetDmaIoCoherency(_In_ ULONG Coherency)
NTSYSAPI NTSTATUS NTAPI ZwYieldExecution(VOID)
unsigned char BOOLEAN
PKPROCESS NTAPI KeGetCurrentProcess(VOID)
enum _KINTERRUPT_MODE KINTERRUPT_MODE
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID _In_opt_ PKSPIN_LOCK _In_ ULONG _In_ KIRQL _In_ KIRQL SynchronizeIrql
Definition: iofuncs.h:798
_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:426
#define _Out_
Definition: no_sal2.h:323
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:642
_IRQL_requires_same_ typedef _In_ ULONG ControlCode
Definition: wmitypes.h:55
Definition: bufpool.h:45
_In_ KPRIORITY Increment
Definition: kefuncs.h:101
_Must_inspect_result_ __drv_aliasesMem _In_ PDEVICE_OBJECT _In_opt_ PVOID _In_ ULONG _Out_opt_ PVOID OutputBuffer
Definition: iofuncs.h:713
NTSYSAPI NTSTATUS NTAPI ZwQuerySystemTime(_Out_ PLARGE_INTEGER CurrentTime)
VOID NTAPI KeSetTimeIncrement(_In_ ULONG MaxIncrement, _In_ ULONG MinIncrement)
_In_opt_ PVOID _In_opt_ PVOID SystemArgument1
Definition: ketypes.h:675
#define _Out_opt_
Definition: no_sal2.h:339
NTSYSAPI NTSTATUS NTAPI ZwSetTimerResolution(_In_ ULONG RequestedResolution, _In_ BOOLEAN SetOrUnset, _Out_ PULONG ActualResolution)
_In_ KPROCESSOR_MODE PreviousMode
Definition: sefuncs.h:103
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID * BaseAddress
Definition: mmfuncs.h:404
NTSYSAPI NTSTATUS NTAPI ZwVdmControl(_In_ ULONG ControlCode, _In_ PVOID ControlData)
VOID(NTAPI * PKRUNDOWN_ROUTINE)(IN struct _KAPC *Apc)
Definition: ketypes.h:638
VOID FASTCALL KeAcquireInStackQueuedSpinLockRaiseToSynch(_In_ PKSPIN_LOCK SpinLock, _In_ PKLOCK_QUEUE_HANDLE LockHandle)
NTSYSAPI NTSTATUS NTAPI ZwSetContextThread(_In_ HANDLE ThreadHandle, _In_ PCONTEXT Context)
#define _Outptr_result_buffer_(size)
Definition: no_sal2.h:414
NTSYSAPI NTSTATUS NTAPI ZwSetIntervalProfile(_In_ ULONG Interval, _In_ KPROFILE_SOURCE ClockSource)
NTSYSCALLAPI NTSTATUS NTAPI NtDelayExecution(_In_ BOOLEAN Alertable, _In_ LARGE_INTEGER *Interval)
NTSYSCALLAPI NTSTATUS NTAPI NtStartProfile(_In_ HANDLE ProfileHandle)
INIT_FUNCTION PCONFIGURATION_COMPONENT_DATA NTAPI KeFindConfigurationEntry(IN PCONFIGURATION_COMPONENT_DATA Child, IN CONFIGURATION_CLASS Class, IN CONFIGURATION_TYPE Type, IN PULONG ComponentKey OPTIONAL)
Definition: config.c:23
static const UCHAR Index[8]
Definition: usbohci.c:18
_In_ ULONG _In_ ULONG _In_ ULONG _Out_ PKIRQL _Out_ PKAFFINITY Affinity
Definition: halfuncs.h:170
_In_opt_ PFILE_OBJECT _In_opt_ PETHREAD Thread
Definition: fltkernel.h:2653
NTSYSCALLAPI ULONG NTAPI NtGetTickCount(VOID)
_In_ BOOLEAN Alertable
Definition: kefuncs.h:283
#define _Inout_
Definition: no_sal2.h:244
NTSYSCALLAPI NTSTATUS NTAPI NtContinue(_In_ PCONTEXT Context, _In_ BOOLEAN TestAlert)
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
DECLSPEC_NORETURN VOID __cdecl KiUnexpectedInterrupt(VOID)
Definition: interrupt.c:51
_In_ PKSERVICE_ROUTINE _In_opt_ PVOID ServiceContext
Definition: iofuncs.h:798
_In_opt_ HANDLE _In_opt_ PIO_APC_ROUTINE ApcRoutine
Definition: iofuncs.h:719
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)
#define _Reserved_
Definition: no_sal2.h:573
NTSTATUS NTAPI Ke386CallBios(_In_ ULONG BiosCommand, _Inout_ PCONTEXT BiosArguments)
NTSYSAPI NTSTATUS NTAPI ZwSetLdtEntries(_In_ ULONG Selector1, _In_ LDT_ENTRY LdtEntry1, _In_ ULONG Selector2, _In_ LDT_ENTRY LdtEntry2)
VOID FASTCALL KiReleaseSpinLock(_Inout_ PKSPIN_LOCK SpinLock)
NTSYSCALLAPI NTSTATUS NTAPI NtTestAlert(VOID)
Definition: state.c:465
VOID NTAPI KeSetProfileIrql(_In_ KIRQL ProfileIrql)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:803
KDEFERRED_ROUTINE * PKDEFERRED_ROUTINE
Definition: ketypes.h:678
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:414
ULONG NTAPI NtGetCurrentProcessorNumber(VOID)
Definition: sysinfo.c:2973
_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:798
KIRQL * PKIRQL
Definition: env_spec_w32.h:592
Definition: ketypes.h:535
CONFIGURATION_TYPE
Definition: iotypes.h:4036
NTSYSCALLAPI NTSTATUS NTAPI NtQueryTimerResolution(_Out_ PULONG MinimumResolution, _Out_ PULONG MaximumResolution, _Out_ PULONG ActualResolution)
NTSYSCALLAPI NTSTATUS NTAPI NtQueueApcThread(_In_ HANDLE ThreadHandle, _In_ PKNORMAL_ROUTINE ApcRoutine, _In_opt_ PVOID NormalContext, _In_opt_ PVOID SystemArgument1, _In_opt_ PVOID SystemArgument2)
_In_opt_ PENTER_STATE_SYSTEM_HANDLER _In_opt_ PVOID _In_ LONG _In_opt_ LONG volatile * Number
Definition: ntpoapi.h:204
BOOLEAN NTAPI KiIpiServiceRoutine(_In_ PKTRAP_FRAME TrapFrame, _Reserved_ PKEXCEPTION_FRAME ExceptionFrame)
Status
Definition: gdiplustypes.h:24
_In_opt_ PVOID _In_opt_ PVOID _In_opt_ PVOID SystemArgument2
Definition: ketypes.h:675
BOOLEAN NTAPI KeSignalCallDpcSynchronize(_In_ PVOID SystemArgument2)
Definition: compat.h:428
VOID NTAPI KeFlushEntireTb(_In_ BOOLEAN Invalid, _In_ BOOLEAN AllProcessors)
#define _In_
Definition: no_sal2.h:204
enum _CONFIGURATION_CLASS CONFIGURATION_CLASS
ULONG_PTR SIZE_T
Definition: typedefs.h:78
enum _KSPIN_LOCK_QUEUE_NUMBER KSPIN_LOCK_QUEUE_NUMBER
NTSYSCALLAPI NTSTATUS NTAPI NtVdmControl(_In_ ULONG ControlCode, _In_ PVOID ControlData)
unsigned short USHORT
Definition: pedump.c:61
ULONG_PTR KAFFINITY
Definition: compat.h:75
NTSYSCALLAPI NTSTATUS NTAPI NtSetTimerResolution(_In_ ULONG RequestedResolution, _In_ BOOLEAN SetOrUnset, _Out_ PULONG ActualResolution)
VOID NTAPI KeGenericCallDpc(_In_ PKDEFERRED_ROUTINE Routine, _In_ PVOID Context)
unsigned int * PULONG
Definition: retypes.h:1
NTSYSCALLAPI NTSTATUS NTAPI NtSetIntervalProfile(_In_ ULONG Interval, _In_ KPROFILE_SOURCE ClockSource)
static LARGE_INTEGER Frequency
Definition: clock.c:41
VOID KeSetGdtSelector(_In_ ULONG Entry, _In_ ULONG Value1, _In_ ULONG Value2)
VOID NTAPI KiDispatchInterrupt(VOID)
Definition: thrdini.c:295
static LARGE_INTEGER Counter
Definition: clock.c:43
#define _In_reads_opt_(size)
Definition: no_sal2.h:231
KIRQL FASTCALL KeAcquireQueuedSpinLockRaiseToSynch(_In_ KSPIN_LOCK_QUEUE_NUMBER LockNumber)
NTSTATUS NTAPI KeRaiseUserException(_In_ NTSTATUS ExceptionCode)
Definition: exp.c:266
VOID NTAPI KeTerminateThread(_In_ KPRIORITY Increment)
unsigned int ULONG
Definition: retypes.h:1
NTSYSAPI NTSTATUS NTAPI ZwSetSystemTime(_In_ PLARGE_INTEGER SystemTime, _In_opt_ PLARGE_INTEGER NewSystemTime)
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE Child
Definition: acpixf.h:716
uint32_t * PULONG_PTR
Definition: typedefs.h:63
_In_ UINT _In_ UINT _In_ PNDIS_PACKET Source
Definition: ndis.h:3167
NTSYSCALLAPI NTSTATUS NTAPI NtCallbackReturn(_In_ PVOID Result, _In_ ULONG ResultLength, _In_ NTSTATUS Status)
Definition: usercall.c:331
*LockHandle LockHandle _Out_ PKLOCK_QUEUE_HANDLE LockHandle
Definition: kefuncs.h:742
NTSYSAPI NTSTATUS NTAPI ZwQueueApcThread(_In_ HANDLE ThreadHandle, _In_ PKNORMAL_ROUTINE ApcRoutine, _In_opt_ PVOID NormalContext, _In_opt_ PVOID SystemArgument1, _In_opt_ PVOID SystemArgument2)
_In_ BOOLEAN _In_ PLARGE_INTEGER Interval
Definition: kefuncs.h:283
VOID(NTAPI * PKNORMAL_ROUTINE)(IN PVOID NormalContext OPTIONAL, IN PVOID SystemArgument1 OPTIONAL, IN PVOID SystemArgument2 OPTIONAL)
Definition: ketypes.h:632
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)
INIT_FUNCTION PCONFIGURATION_COMPONENT_DATA NTAPI KeFindConfigurationNextEntry(IN PCONFIGURATION_COMPONENT_DATA Child, IN CONFIGURATION_CLASS Class, IN CONFIGURATION_TYPE Type, IN PULONG ComponentKey OPTIONAL, IN PCONFIGURATION_COMPONENT_DATA *NextLink)
Definition: config.c:44
_In_ HANDLE ProcessHandle
Definition: mmfuncs.h:403
NTSYSCALLAPI NTSTATUS NTAPI NtGetContextThread(_In_ HANDLE ThreadHandle, _Out_ PCONTEXT Context)
NTSYSCALLAPI NTSTATUS NTAPI NtQueryPerformanceCounter(_Out_ PLARGE_INTEGER Counter, _Out_opt_ PLARGE_INTEGER Frequency)
VOID NTAPI KeSignalCallDpcDone(_In_ PVOID SystemArgument1)
NTSYSAPI NTSTATUS NTAPI ZwQueryIntervalProfile(_In_ KPROFILE_SOURCE ProfileSource, _Out_ PULONG Interval)
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)
NTSYSCALLAPI NTSTATUS NTAPI NtW32Call(_In_ ULONG RoutineIndex, _In_ PVOID Argument, _In_ ULONG ArgumentLength, _Out_opt_ PVOID *Result, _Out_opt_ PULONG ResultLength)
BOOLEAN NTAPI KeAddSystemServiceTable(_In_ PULONG_PTR Base, _In_opt_ PULONG Count, _In_ ULONG Limit, _In_ PUCHAR Number, _In_ ULONG Index)
_In_ LONG _In_ LONG Limit
Definition: kefuncs.h:328
base of all file and directory entries
Definition: entries.h:82
VOID NTAPI KeProfileInterrupt(_In_ PKTRAP_FRAME TrapFrame)
_In_ PKSERVICE_ROUTINE ServiceRoutine
Definition: iofuncs.h:798