Hi All,
I am doing a physical read and write operation from a volume filter driver when the volume Is getting removed. but I have observed that my read call was hanging
when I called WdfIoTargetSendReadSynchronously to read when the device is powering down. I am calling this function at WdfPowerDeviceD3Final.
Also what is the diffrence between WdfPowerDeviceD3 and WdfPowerDeviceD3Final ? can I call this at WdfPowerDeviceD3 ?
I appreciate any help in trouble shooting this problem. thanks in advance.
Call stack : -
fffffadfe4a8c390 fffff800
0103b093 : 0000000000000000 fffff800
01038863 0000000000000000 fffffadf
e4084ba1 : nt!KiSwapContext+0x85
fffffadfe4a8c510 fffff800
0103c433 : 0000000000000000 00000000
00000000 000000000000000d fffffadf
e7aed7a0 : nt!KiSwapThread+0xc3
fffffadfe4a8c550 fffffadf
e40e713a : fffffadf00000000 00000000
00000000 0000000000000000 fffffadf
e4a8c700 : nt!KeWaitForSingleObject+0x528
fffffadfe4a8c5e0 fffffadf
e40e30fd : 0000000000000000 fffffadf
00000000 fffffadfe6e09203 fffffadf
e4a8c6d0 : wdf01000!FxIoTarget::SubmitSync+0x2c2
fffffadfe4a8c690 fffffadf
e40e34fc : fffffadfe5ff54c0 fffffadf
e4a8ca20 0000000000002a00 00000000
00002a00 : wdf01000!imp_WdfIoTargetWdmGetTargetFileHandle+0x505
fffffadfe4a8c8f0 fffffadf
e3d2a114 : 00000520191f6da8 fffffadf
e6e09250 fffffadfe4a8ca20 00000000
00002a00 : wdf01000!imp_WdfIoTargetSendReadSynchronously+0x38
fffffadfe4a8c940 fffffadf
e3d2948e : 0000000000000000 00000000
00002a00 000000003e480000 00000000
00000000 : mydriver!ReadFromPhysicalLocation+0x154 [e:\ad2d_beta_refresh\source\native\cavoltrc\sys\appint.cpp @ 2770]
fffffadfe4a8c9e0 fffffadf
e3d24438 : fffffadfe415a250 fffffadf
e5f82390 fffffadfe3d2d168 00000000
00000005 : mydriver!WriteSnapShotBitmapBufferToVolume+0xde [e:\ad2d_beta_refresh\source\native\cavoltrc\sys\appint.cpp @ 2290]
fffffadfe4a8ce60 fffffadf
e4145d6d : fffffadfe7711020 00000000
00000001 0000000000000000 fffffadf
e5fc6fc8 : mydriver!CAVolTrcFltrD0Exit+0x88 [e:\ad2d_beta_refresh\source\native\cavoltrc\sys\cavoltrc.cpp @ 718]
fffffadfe4a8ce90 fffffadf
e41456eb : 0000000000000000 00000000
00000000 fffffadfe415a660 fffffadf
e7afd8e0 : wdf01000!FxPkgPnp::PowerGotoD3Stopped+0x141
fffffadfe4a8cf00 fffffadf
e414538e : fffffadfe7711020 00000000
00000080 fffffadfe415a4e0 00000000
00000080 : wdf01000!FxPkgPnp::PowerEnterNewState+0x1db
fffffadfe4a8d030 fffffadf
e414506c : 0000000000000000 00000000
00000080 000000000000055b fffffadf
e7711020 : wdf01000!FxPkgPnp::PowerProcessEventInner+0x13e
fffffadfe4a8d0a0 fffffadf
e4152ba2 : 0000000000000000 00000000
0000055b 0000000000000000 00000000
0000055b : wdf01000!FxPkgPnp::PowerProcessEvent+0x1d4
fffffadfe4a8d130 fffffadf
e4152abb : 000000000000055b 00000000
00000000 0000000000000502 fffff800
0103aeb7 : wdf01000!FxPkgPnp::NotPowerPolOwnerStopping+0xe
fffffadfe4a8d160 fffffadf
e414e950 : fffffadfe7711020 00000000
00000002 000000000000010e fffffadf
e4157050 : wdf01000!FxPkgPnp::NotPowerPolicyOwnerEnterNewState+0x1c7
fffffadfe4a8d1e0 fffffadf
e414e372 : 0000000000000000 00000000
00000002 000000000000010e fffffadf
e40db8e9 : wdf01000!FxPkgPnp::PowerPolicyProcessEventInner+0x3f8
fffffadfe4a8d250 fffffadf
e414b659 : 0000000000000000 fffffadf
e7711020 000000000000010e 00000000
0000010e : wdf01000!FxPkgPnp::PowerPolicyProcessEvent+0x1e2
fffffadfe4a8d2e0 fffffadf
e414a841 : 000000000000010e fffffadf
e4a8d440 000000000000010c 00000000
00000000 : wdf01000!FxPkgPnp::PnpEventQueriedRemoving+0x15
fffffadfe4a8d310 fffffadf
e414a4fe : fffffadfe7711020 fffffadf
e4a8d440 0000000000000200 fffffadf
e4159450 : wdf01000!FxPkgPnp::PnpEnterNewState+0x1a5
fffffadfe4a8d380 fffffadf
e414a201 : 0000000000000000 00000000
00000200 fffffadfe4a8d560 fffffadf
e7711020 : wdf01000!FxPkgPnp::PnpProcessEventInner+0x122
fffffadfe4a8d3f0 fffffadf
e414225b : 0000000000000000 00000000
00000001 0000000000000000 fffffadf
e4a8d560 : wdf01000!FxPkgPnp::PnpProcessEvent+0x1b1
fffffadfe4a8d480 fffffadf
e4140dd6 : fffffadfe791c602 fffffadf
e5c6f010 0000000000000000 fffffadf
e7711020 : wdf01000!FxPkgPnp::_PnpRemoveDevice+0xb3
fffffadfe4a8d4f0 fffffadf
e4110245 : fffffadfe5c6f010 fffffadf
e5c6f010 fffffadfe6d1b040 fffffadf
e5c6f010 : wdf01000!FxPkgPnp::Dispatch+0x1b2
fffffadfe4a8d560 fffffadf
e411014b : fffffadfe5c6f010 fffffadf
e5c6f010 fffffadfe6d1b040 fffffadf
e67235b0 : wdf01000!FxDevice::Dispatch+0xa9
fffffadfe4a8d590 fffffadf
e4030aae : fffffadfe4a8d700 fffffadf
e5c6f010 fffffadfe6723700 fffffadf
e60b41c8 : wdf01000!FxDevice::DispatchWithLock+0x93
fffffadfe4a8d5d0 fffffadf
e3eaa9c8 : fffffadfe4a8d700 fffffadf
e4a8da20 0000000000000000 fffffadf
e60b41c8 : volsnap!VolSnapPnp+0x19e
fffffadfe4a8d640 fffffadf
e3eaa614 : fffffadfe75e1550 fffffadf
e4a8da00 fffffadfe4a8d718 fffffadf
e75e1550 : Ntfs!NtfsCommonPnp+0x318
fffffadfe4a8d6e0 fffffadf
e3f10922 : fffffadfe4a8d804 fffffadf
e5c6f010 fffffadfe5c6f010 fffffadf
e67231d0 : Ntfs!NtfsFsdPnp+0x154
fffffadfe4a8d760 fffff800
01289203 : fffffadfe60b4040 fffffadf
e5c6f010 fffffadfe5c6f010 00000000
00000000 : fltMgr!FltpDispatch+0x1c2
fffffadfe4a8d7c0 fffff800
01015161 : fffffadfe60b4040 00000000
00000002 fffffadfe60b4040 fffffadf
e62f7301 : nt!IopSynchronousCall+0x144
fffffadfe4a8d830 fffff800
0130bfbc : 00000f21853a36f2 00000000
00000000 fffffa800430b8f0 00000000
80000001 : nt!IopRemoveLockedDeviceNode+0xe31
fffffadfe4a8db00 fffff800
0130e530 : fffffadfe3b6caf8 00000000
00000000 fffffa8003a6db80 fffffa80
02dea924 : nt!IopDeleteLockedDeviceNodes+0x135
fffffadfe4a8db60 fffff800
0127e922 : 4d43e38900000000 fffffadf
e7b20700 0000000000000001 fffffa80
03611c10 : nt!PiProcessQueryRemoveAndEject+0x1471
fffffadfe4a8dc90 fffff800
01038b53 : fffffadfe6ec8210 fffff800
0127a580 fffffadfe7aed7a0 fffff800
01192558 : nt!PiWalkDeviceList+0x25f
fffffadfe4a8dd00 fffff800
012b2e7e : fffffadfe7aed7a0 00000000
00000080 fffffadfe7aed7a0 fffffadf
e7aedbf0 : nt!ExpWorkerThread+0x13a
fffffadfe4a8dd70 fffff800
01044196 : fffff80001175180 fffffadf
e7aed7a0 fffffadfe7aedbf0 fffffadf
e7a40270 : nt!PspSystemThreadStartup+0x3e
fffffadfe4a8ddd0 00000000
00000000 : 0000000000000000 00000000
00000000 0000000000000000 00000000
00000000 : nt!KxStartSystemThread+0x16
regards,
Vijay