Hi All,
I am using Ktimer in ny driver and want to know its state in dumps.
How do we find out if timer has expired or if its running and when is it due to expire?
I couldn’t make out much from the below Ktimer params:
+0x110 SynchCmdSendTimer : _KTIMER
+0x000 Header : _DISPATCHER_HEADER
+0x000 Type : 0x8 ‘’
+0x001 TimerControlFlags : 0 ‘’
+0x001 Absolute : 0y0
+0x001 Wake : 0y0
+0x001 EncodedTolerableDelay : 0y000000 (0)
+0x001 Abandoned : 0 ‘’
+0x001 Signalling : 0 ‘’
+0x002 ThreadControlFlags : 0x6d ‘m’
+0x002 CycleProfiling : 0y1
+0x002 CounterProfiling : 0y0
+0x002 GroupScheduling : 0y1
+0x002 AffinitySet : 0y1
+0x002 Reserved : 0y0110
+0x002 Hand : 0x6d ‘m’
+0x002 Size : 0x6d ‘m’
+0x003 TimerMiscFlags : 0 ‘’
+0x003 Index : 0y000000 (0)
+0x003 Inserted : 0y0
+0x003 Expired : 0y0
+0x003 DebugActive : 0 ‘’
+0x003 ActiveDR7 : 0y0
+0x003 Instrumented : 0y0
+0x003 Reserved2 : 0y0000
+0x003 UmsScheduled : 0y0
+0x003 UmsPrimary : 0y0
+0x003 DpcActive : 0 ‘’
+0x000 Lock : 0n7143432
+0x000 LockNV : 0n7143432
+0x004 SignalState : 0n0
+0x008 WaitListHead : _LIST_ENTRY [0xb126afa0 - 0xb126afa0]
+0x000 Flink : 0xb126afa0
+0x004 Blink : 0xb126afa0
+0x010 DueTime : _ULARGE_INTEGER 0x15b6d3e5
+0x000 LowPart : 0x15b6d3e5
+0x004 HighPart : 0
+0x000 u : _ULARGE_INTEGER::
+0x000 LowPart : 0x15b6d3e5
+0x004 HighPart : 0
+0x000 QuadPart : 0x15b6d3e5
+0x018 TimerListEntry : _LIST_ENTRY [0x9a464fb0 - 0x816290bc]
+0x000 Flink : 0x9a464fb0
+0x004 Blink : 0x816290bc
+0x020 Dpc : 0xb2352330
+0x024 Processor : 0
+0x028 Period : 0
Also, is there a way we can find out for how long the power irp is being blocked by my driver?
Thanks,
Ruby