Hi all,
I a writing a lower disk class driver and also a pseduo bus driver for my
pesudo devices that sit below
the disk class.
When i load my driver on the sytsem, it takes a long time to boot.
I hooked a up a debugger to see what could be the issue & it looks like that
my driver is “missing” from the I/o stack.
I see only one thread waiting at the time of hang & that is processing 2
IRPs (irp from partmgr to disk to next driver)
89669c68 [897a23c8] irpStack: ( 3,34) 89650030 [\Driver\Disk] 0x00000000
8977d198 [897a23c8] irpStack: (1b, 7) 896549d8 [\Driver\PartMgr]
0: kd> !irp 8977d198
Irp is active with 5 stacks 5 is current (= 0x8977d298)
No Mdl Thread 897a23c8: Irp stack trace.
cmd flg cl Device File Completion-Context
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[1b, 0] 0 0 896c1620 00000000 00000000-00000000
\Driver\mydrv -> my driver present after disk
Args: 00000000 00000000 00000000 00000000
[1b, 0] 0 0 89650030 00000000 f74c9100-f789e294
\Driver\Disk
Args: 00000000 00000000 00000000 00000000
[1b, 7] 0 0 896549d8 00000000 00000000-00000000
\Driver\PartMgr
Args: 00000000 00000000 00000000 00000000
&
0: kd> !irp 89669c68
Irp is active with 4 stacks 4 is current (= 0x89669d44)
Mdl = 8970e750 Thread 897a23c8: Irp stack trace.
cmd flg cl Device File Completion-Context
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000
Args: 00000000 00000000 00000000 00000000
[0, 0] 0 0 00000000 00000000 00000000-00000000 -> where is the next
driver???
Args: 00000000 00000000 00000000 00000000
[3,34] 2 1 89650030 00000000 00000000-00000000 pending
\Driver\Disk
Args: 00000200 00000000 00000000 00000000
Also, I can see my driver in the device stack of partmgr & disk:
0: kd> !devstack 89650030
!DevObj !DrvObj !DevExt ObjectName
896549d8 \Driver\PartMgr 89654a90
89650030 \Driver\Disk 896500e8 DR5
89652830 \Driver\mdrv 896528e8 -> my pseudo filter device
896c1620 \Driver\mydrv 896c16d8 PseudoDev -> My pesudo device
The driver gets loaded on the stack after some time. & the system boots up
fine. Any ideas as to why it would take some time to get loaded??
Thanks in advance.
Arrange your love marriage. http://www.shaadi.com/ptnr.php?ptnr=hmltag On
Shaadi.com.