71 DPRINT(
"KiInsertTimerTable(): Timer %p, Hand: %lu\n",
Timer, Hand);
81 NextEntry = ListHead->
Blink;
82 while (NextEntry != ListHead)
91 NextEntry = NextEntry->
Blink;
98 if (NextEntry == ListHead)
158 RequestInterrupt =
TRUE;
162 return RequestInterrupt;
172 DPRINT(
"KiCompleteTimer(): Timer %p, LockQueue: %p\n",
Timer, LockQueue);
180 Timer->TimerListEntry.Flink = &ListHead;
181 Timer->TimerListEntry.Blink = &ListHead;
218 Inserted =
Timer->Header.Inserted;
247 DPRINT(
"KeInitializeTimerEx(): Timer %p, Type %s\n",
249 "NotificationTimer" :
"SynchronizationTimer");
255 Timer->Header.Inserted = 0;
256 Timer->Header.SignalState = 0;
260 Timer->DueTime.QuadPart = 0;
305 DPRINT(
"KeSetTimerEx(): Timer %p, DueTime %I64d, Period %d, Dpc %p\n",
312 Inserted =
Timer->Header.Inserted;
#define KeQuerySystemTime(t)
#define KeGetCurrentIrql()
BOOLEAN NTAPI KeSetTimer(IN OUT PKTIMER Timer, IN LARGE_INTEGER DueTime, IN PKDPC Dpc OPTIONAL)
VOID FASTCALL KiCompleteTimer(IN PKTIMER Timer, IN PKSPIN_LOCK_QUEUE LockQueue)
_Must_inspect_result_ _In_ PWDF_DPC_CONFIG _In_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFDPC * Dpc
LARGE_INTEGER KiTimeIncrementReciprocal
struct _LIST_ENTRY * Blink
FORCEINLINE VOID InsertHeadList(_Inout_ PLIST_ENTRY ListHead, _Inout_ __drv_aliasesMem PLIST_ENTRY Entry)
FORCEINLINE BOOLEAN KiComputeDueTime(IN PKTIMER Timer, IN LARGE_INTEGER DueTime, OUT PULONG Hand)
FORCEINLINE VOID KxUnwaitThreadForEvent(IN PKEVENT Event, IN KPRIORITY Increment)
FORCEINLINE PKSPIN_LOCK_QUEUE KiAcquireTimerLock(IN ULONG Hand)
BOOLEAN NTAPI KeInsertQueueDpc(IN PKDPC Dpc, IN PVOID SystemArgument1, IN PVOID SystemArgument2)
BOOLEAN NTAPI KeReadStateTimer(IN PKTIMER Timer)
FORCEINLINE VOID KxRemoveTreeTimer(IN PKTIMER Timer)
_In_ LARGE_INTEGER _In_ ULONG Period
BOOLEAN NTAPI KeSetTimerEx(IN OUT PKTIMER Timer, IN LARGE_INTEGER DueTime, IN LONG Period, IN PKDPC Dpc OPTIONAL)
BOOLEAN FASTCALL KiInsertTreeTimer(IN PKTIMER Timer, IN LARGE_INTEGER Interval)
BOOLEAN KiEnableTimerWatchdog
_Must_inspect_result_ FORCEINLINE BOOLEAN IsListEmpty(_In_ const LIST_ENTRY *ListHead)
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
#define ASSERT_TIMER(Object)
UCHAR KiTimeIncrementShiftCount
VOID NTAPI KeInitializeTimer(OUT PKTIMER Timer)
FORCEINLINE VOID KxInsertTimer(IN PKTIMER Timer, IN ULONG Hand)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
VOID FASTCALL KiExitDispatcher(KIRQL OldIrql)
struct _LIST_ENTRY * Flink
BOOLEAN NTAPI KeCancelTimer(IN OUT PKTIMER Timer)
BOOLEAN FASTCALL KiSignalTimer(IN PKTIMER Timer)
enum _TIMER_TYPE TIMER_TYPE
BOOLEAN FASTCALL KiInsertTimerTable(IN PKTIMER Timer, IN ULONG Hand)
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
FORCEINLINE VOID KiReleaseDispatcherLockFromSynchLevel(VOID)
VOID FASTCALL HalRequestSoftwareInterrupt(IN KIRQL Irql)
FORCEINLINE VOID KiReleaseDispatcherLock(IN KIRQL OldIrql)
FORCEINLINE KIRQL KiAcquireDispatcherLock(VOID)
#define InitializeListHead(ListHead)
FORCEINLINE VOID KiRemoveEntryTimer(IN PKTIMER Timer)
_In_ WDFTIMER _In_ LONGLONG DueTime
KTIMER_TABLE_ENTRY KiTimerTableListHead[TIMER_TABLE_SIZE]
FORCEINLINE VOID KxUnwaitThread(IN DISPATCHER_HEADER *Object, IN KPRIORITY Increment)
ULONGLONG NTAPI KeQueryInterruptTime(VOID)
FORCEINLINE ULONG KiComputeTimerTableIndex(IN ULONGLONG DueTime)
#define Int32x32To64(a, b)
VOID NTAPI KeInitializeTimerEx(OUT PKTIMER Timer, IN TIMER_TYPE Type)
FORCEINLINE VOID KiReleaseTimerLock(IN PKSPIN_LOCK_QUEUE LockQueue)
FORCEINLINE VOID KiAcquireDispatcherLockAtSynchLevel(VOID)
PULONG MinorVersion OPTIONAL