Defines |
| #define | KeAcquireSpinLock(SpinLock, OldIrql) *(OldIrql) = KeAcquireSpinLockRaiseToDpc(SpinLock) |
| #define | KeWaitForMutexObject KeWaitForSingleObject |
| #define | KeInitializeCallbackRecord(CallbackRecord) CallbackRecord->State = BufferEmpty; |
| #define | PAGED_CODE() NOP_FUNCTION; |
| #define | PAGED_CODE_LOCKED() NOP_FUNCTION; |
Functions |
| | $if (_WDMDDK_) NTKERNELAPI VOID NTAPI KeInitializeEvent(_Out_ PRKEVENT Event |
| | _IRQL_requires_max_ (DISPATCH_LEVEL) NTKERNELAPI VOID NTAPI KeClearEvent(_Inout_ PRKEVENT Event) |
| | $endif (_WDMDDK_) $if(_NTDDK_) _IRQL_requires_min_(PASSIVE_LEVEL) _IRQL_requires_max_(DISPATCH_LEVEL) NTKERNELAPI VOID FASTCALL KeInvalidateRangeAllCaches(_In_ PVOID BaseAddress |
| | $endif (_NTDDK_) $if(_NTIFS_) NTSTATUS NTAPI KeGetProcessorNumberFromIndex(_In_ ULONG ProcIndex |
| ULONG NTAPI | KeGetProcessorIndexFromNumber (_In_ PPROCESSOR_NUMBER ProcNumber) |
| | $endif (_NTIFS_) $if(_WDMDDK_) _Maybe_raises_SEH_exception_ _IRQL_requires_max_(APC_LEVEL) NTKERNELAPI VOID NTAPI ProbeForWrite(__in_data_source(USER_MODE) _Inout_updates_bytes_(Length) PVOID Address |
| | _IRQL_requires_min_ (PASSIVE_LEVEL) _IRQL_requires_max_(DISPATCH_LEVEL) NTKERNELAPI LONG NTAPI KeSetBasePriorityThread(_Inout_ PRKTHREAD Thread |
| | _Acquires_lock_ (_Global_critical_region_) _IRQL_requires_max_(APC_LEVEL) NTKERNELAPI VOID NTAPI KeEnterCriticalRegion(VOID) |
| | _Releases_lock_ (_Global_critical_region_) _IRQL_requires_max_(APC_LEVEL) NTKERNELAPI VOID NTAPI KeLeaveCriticalRegion(VOID) |
NTKERNELAPI DECLSPEC_NORETURN
VOID NTAPI | KeBugCheck (_In_ ULONG BugCheckCode) |
| NTKERNELAPI VOID NTAPI | KeQuerySystemTime (_Out_ PLARGE_INTEGER CurrentTime) |
_Requires_lock_not_held_
SpinLock _Acquires_lock_
SpinLock | _IRQL_requires_min_ (DISPATCH_LEVEL) NTKERNELAPI VOID NTAPI KeAcquireSpinLockAtDpcLevel(_Inout_ PKSPIN_LOCK SpinLock) |
_Requires_lock_held_ SpinLock
_Releases_lock_ SpinLock | _IRQL_requires_ (DISPATCH_LEVEL) NTKERNELAPI VOID NTAPI KeReleaseSpinLock(_Inout_ PKSPIN_LOCK SpinLock |
| FORCEINLINE VOID | KeInitializeSpinLock (_Out_ PKSPIN_LOCK SpinLock) |
NTKERNELAPI DECLSPEC_NORETURN
VOID NTAPI | KeBugCheckEx (_In_ ULONG BugCheckCode, _In_ ULONG_PTR BugCheckParameter1, _In_ ULONG_PTR BugCheckParameter2, _In_ ULONG_PTR BugCheckParameter3, _In_ ULONG_PTR BugCheckParameter4) |
_Must_inspect_result_
NTKERNELAPI BOOLEAN NTAPI | KeDeregisterBugCheckCallback (_Inout_ PKBUGCHECK_CALLBACK_RECORD CallbackRecord) |
| NTKERNELAPI VOID NTAPI | KeInitializeDpc (_Out_ __drv_aliasesMem PRKDPC Dpc, _In_ PKDEFERRED_ROUTINE DeferredRoutine, _In_opt_ __drv_aliasesMem PVOID DeferredContext) |
| NTKERNELAPI VOID NTAPI | KeInitializeMutex (_Out_ PRKMUTEX Mutex, _In_ ULONG Level) |
| | _IRQL_requires_max_ (PASSIVE_LEVEL) NTKERNELAPI VOID NTAPI KeInitializeSemaphore(_Out_ PRKSEMAPHORE Semaphore |
| NTKERNELAPI BOOLEAN NTAPI | KeInsertQueueDpc (_Inout_ PRKDPC Dpc, _In_opt_ PVOID SystemArgument1, _In_opt_ PVOID SystemArgument2) |
| NTHALAPI LARGE_INTEGER NTAPI | KeQueryPerformanceCounter (_Out_opt_ PLARGE_INTEGER PerformanceFrequency) |
| NTKERNELAPI ULONG NTAPI | KeQueryTimeIncrement (VOID) |
_Must_inspect_result_
NTKERNELAPI BOOLEAN NTAPI | KeRegisterBugCheckCallback (_Out_ PKBUGCHECK_CALLBACK_RECORD CallbackRecord, _In_ PKBUGCHECK_CALLBACK_ROUTINE CallbackRoutine, _In_reads_bytes_opt_(Length) PVOID Buffer, _In_ ULONG Length, _In_ PUCHAR Component) |
| | _When_ (Wait==0, _IRQL_requires_max_(DISPATCH_LEVEL)) _When_(Wait |
| | _IRQL_requires_max_ (APC_LEVEL)) NTKERNELAPI LONG NTAPI KeReleaseMutex(_Inout_ PRKMUTEX Mutex |
| | _IRQL_requires_max_ (HIGH_LEVEL) NTKERNELAPI BOOLEAN NTAPI KeRemoveQueueDpc(_Inout_ PRKDPC Dpc) |
| NTKERNELAPI VOID NTAPI | KeSetImportanceDpc (_Inout_ PRKDPC Dpc, _In_ KDPC_IMPORTANCE Importance) |
| NTHALAPI VOID NTAPI | KeStallExecutionProcessor (_In_ ULONG MicroSeconds) |
| NTKERNELAPI VOID NTAPI | KeInitializeQueue (_Out_ PRKQUEUE Queue, _In_ ULONG Count) |
_Requires_lock_not_held_
SpinLock _Acquires_lock_
SpinLock | _IRQL_raises_ (SYNCH_LEVEL) _IRQL_saves_ NTKERNELAPI KIRQL KeAcquireSpinLockRaiseToSynch(_Inout_ PKSPIN_LOCK SpinLock) |
| *LockHandle LockHandle | _IRQL_raises_ (DISPATCH_LEVEL) _DECL_HAL_KE_IMPORT VOID FASTCALL KeAcquireInStackQueuedSpinLock(_Inout_ PKSPIN_LOCK SpinLock |
| NTKERNELAPI ULONG NTAPI | KeGetRecommendedSharedDataAlignment (VOID) |
_Requires_lock_held_ Interrupt
_Releases_lock_ Interrupt | _IRQL_requires_ (HIGH_LEVEL) NTKERNELAPI VOID NTAPI KeReleaseInterruptSpinLock(_Inout_ PKINTERRUPT Interrupt |
_Requires_lock_held_
LockHandle _Releases_lock_
LockHandle LockHandle
_DECL_HAL_KE_IMPORT VOID
FASTCALL | KeReleaseInStackQueuedSpinLock (_In_ PKLOCK_QUEUE_HANDLE LockHandle) |
| | _Requires_lock_held_ (Number) _Releases_lock_(Number) _DECL_HAL_KE_IMPORT VOID FASTCALL KeReleaseQueuedSpinLock(_In_ KSPIN_LOCK_QUEUE_NUMBER Number |
| _Must_inspect_result_ | _Post_satisfies_ (return==1||return==0) _DECL_HAL_KE_IMPORT LOGICAL FASTCALL KeTryToAcquireQueuedSpinLock(_In_ KSPIN_LOCK_QUEUE_NUMBER Number |
_Must_inspect_result_
NTKERNELAPI BOOLEAN NTAPI | KeRegisterBugCheckReasonCallback (_Out_ PKBUGCHECK_REASON_CALLBACK_RECORD CallbackRecord, _In_ PKBUGCHECK_REASON_CALLBACK_ROUTINE CallbackRoutine, _In_ KBUGCHECK_CALLBACK_REASON Reason, _In_ PUCHAR Component) |
| NTKERNELAPI VOID NTAPI | KeInitializeThreadedDpc (_Out_ PRKDPC Dpc, _In_ PKDEFERRED_ROUTINE DeferredRoutine, _In_opt_ PVOID DeferredContext) |
_Must_inspect_result_
NTKERNELAPI BOOLEAN FASTCALL | KeTestSpinLock (_In_ PKSPIN_LOCK SpinLock) |
| _Must_inspect_result_ | _Success_ (return!=FALSE) _IRQL_requires_max_(APC_LEVEL) _Post_satisfies_(return |
*LockHandle LockHandle
NTKERNELAPI VOID FASTCALL | KeAcquireInStackQueuedSpinLockForDpc (_Inout_ PKSPIN_LOCK SpinLock, _Out_ PKLOCK_QUEUE_HANDLE LockHandle) |
_Requires_lock_held_
LockHandle _Releases_lock_
LockHandle LockHandle
NTKERNELAPI VOID FASTCALL | KeReleaseInStackQueuedSpinLockForDpc (_In_ PKLOCK_QUEUE_HANDLE LockHandle) |
_Must_inspect_result_
NTKERNELAPI NTSTATUS NTAPI | KeSetTargetProcessorDpcEx (_Inout_ PKDPC Dpc, _In_ PPROCESSOR_NUMBER ProcNumber) |
| NTKERNELAPI ULONGLONG NTAPI | KeQueryUnbiasedInterruptTime (VOID) |
| NTKERNELAPI ULONG NTAPI | KeQueryActiveProcessorCountEx (_In_ USHORT GroupNumber) |
| NTKERNELAPI ULONG NTAPI | KeQueryMaximumProcessorCountEx (_In_ USHORT GroupNumber) |
| NTKERNELAPI USHORT NTAPI | KeQueryActiveGroupCount (VOID) |
| NTKERNELAPI USHORT NTAPI | KeQueryMaximumGroupCount (VOID) |
| NTKERNELAPI KAFFINITY NTAPI | KeQueryGroupAffinity (_In_ USHORT GroupNumber) |
| NTKERNELAPI ULONG NTAPI | KeGetCurrentProcessorNumberEx (_Out_opt_ PPROCESSOR_NUMBER ProcNumber) |
| NTKERNELAPI VOID NTAPI | KeQueryNodeActiveAffinity (_In_ USHORT NodeNumber, _Out_opt_ PGROUP_AFFINITY Affinity, _Out_opt_ PUSHORT Count) |
| NTKERNELAPI USHORT NTAPI | KeQueryNodeMaximumProcessorCount (_In_ USHORT NodeNumber) |
| NTKERNELAPI USHORT NTAPI | KeQueryHighestNodeNumber (VOID) |
| NTKERNELAPI USHORT NTAPI | KeGetCurrentNodeNumber (VOID) |
| _Must_inspect_result_ | _When_ (return==0, _Kernel_float_saved_) NTKERNELAPI NTSTATUS NTAPI KeSaveExtendedProcessorState(_In_ ULONG64 Mask |
_Must_inspect_result_ _Out_
_Requires_lock_not_held_
_Curr_ | _When_ (return==0, _Acquires_lock_(*_Curr_)) PXSTATE_SAVE XStateSave) |
_Kernel_float_restored_
NTKERNELAPI VOID NTAPI | KeRestoreExtendedProcessorState (_In_ _Requires_lock_held_(*_Curr_) _Releases_lock_(*_Curr_) PXSTATE_SAVE XStateSave) |
| NTSTATUS NTAPI | KeGetProcessorNumberFromIndex (_In_ ULONG ProcIndex, _Out_ PPROCESSOR_NUMBER ProcNumber) |
Variables |
| _In_ EVENT_TYPE | Type |
| _In_ EVENT_TYPE _In_ BOOLEAN | State |
| _In_ ULONG | Length |
| _Out_ PPROCESSOR_NUMBER | ProcNumber |
| _In_ SIZE_T _In_ ULONG | Alignment |
| _In_ KDPC_IMPORTANCE | Importance |
| _In_ KPRIORITY | Increment |
| _In_ KPRIORITY _In_ BOOLEAN | Wait |
_Requires_lock_held_ SpinLock
_Releases_lock_ SpinLock _In_
_IRQL_restores_ KIRQL | NewIrql |
| _In_ BOOLEAN | Alertable |
| _In_ BOOLEAN _In_ PLARGE_INTEGER | Interval |
| _In_ LONG | Count |
| _In_ LONG _In_ LONG | Limit |
| _Inout_ PKDEVICE_QUEUE_ENTRY | DeviceQueueEntry |
_Inout_ PKDEVICE_QUEUE_ENTRY
_In_ ULONG | SortKey |
| _In_ KPRIORITY _In_ LONG | Adjustment |
| _In_ KPRIORITY | Priority |
| _In_ LARGE_INTEGER | DueTime |
| _In_ LARGE_INTEGER _In_opt_ PKDPC | Dpc |
| _In_ LARGE_INTEGER _In_ LONG Period | OPTIONAL |
| _In_ PKSYNCHRONIZE_ROUTINE | SynchronizeRoutine |
_In_ PKSYNCHRONIZE_ROUTINE
_In_opt_ __drv_aliasesMem
PVOID | SynchronizeContext |
| _In_ BOOLEAN | InitialOwner |
| _In_ KPRIORITY _In_ BOOLEAN | Abandoned |
| _Inout_ PLIST_ENTRY | Entry |
| _Out_ PKAPC_STATE | ApcState |
| _In_ UCHAR | Processor |
*LockHandle LockHandle _Out_
PKLOCK_QUEUE_HANDLE | LockHandle |
| _Out_ PULONG | UserTime |
_Requires_lock_held_ Interrupt
_Releases_lock_ Interrupt _In_
_IRQL_restores_ KIRQL | OldIrql |
| _In_opt_ PVOID | Context |
| _In_opt_ PVOID | Parameter |
| _In_opt_ PVOID _In_ SIZE_T | Size |
| _Out_ PCLIENT_ID | ClientId |
| _In_opt_ PVOID | CallbackContext |
| _In_opt_ PVOID _In_ ULONG | Flags |
| _Out_ PULONG64 | CycleTimeStamp |
| _Out_opt_ PGROUP_AFFINITY | PreviousAffinity |
| _In_ LARGE_INTEGER _In_ ULONG | Period |
_In_ LARGE_INTEGER _In_ ULONG
_In_ ULONG | TolerableDelay |
| _In_ LOGICAL_PROCESSOR_RELATIONSHIP | RelationshipType |
_In_
LOGICAL_PROCESSOR_RELATIONSHIP
_Out_writes_bytes_opt_ Length
PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX | Information |
| *Count PHARDWARE_COUNTER | CounterArray |
| *Count PHARDWARE_COUNTER _In_ ULONG | MaximumCount |