Hi Doron,
I got the o/p of wdglogdump. It is attached towards the end of the mail.
In the o/p below, I have marked the log where device disable fails in “red
colour”.
It says that EvtQueryRemove() failed for !devobj 0x95758F00.
This is weird. Because, below is the code for EvtQueryRemove() for that
device.
The function has been hard-coded to return STATUS_SUCCESS.
NTSTATUS
PDHandleQueryRemoveFdo(
IN IN WDFDEVICE Device
)
{
PDEVICE_EXTENSION_FDO pDxf = (PDEVICE_EXTENSION_FDO)GetFDOContext(Device);
NTSTATUS status;
NVPRINT (DBGLEVEL_TEMP, (“PDHandleQueryRemoveFdo entered\n”));
#ifdef TRACKIRP
IRPLISTTRAVERSE (pDxf);
#endif
NVPRINT (DBGLEVEL_TEMP, (“Exiting PDHandleQueryRemoveFdo\n”));
return (STATUS_SUCCESS);
} // PDHandleQueryRemoveFdo
Failing to understand whats happening here. Does framework perform any
operation underneath before returning failure though the driver returned
success??
Thanks,
-Praveen
There are 56 log entries
— start of log —
1: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpInit from WdfDevStatePnpObjectCreated
2: FxPkgPnp::Dispatch - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00, IRP_MJ_PNP,
0x00000000(IRP_MN_START_DEVICE) IRP 0x8AEC6F20
3: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpInitStarting from WdfDevStatePnpInit
4: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpHardwareAvailable from
WdfDevStatePnpInitStarting
5: FxPkgPnp::PnpMatchResources - Not enough interrupt objects created by
WDFDEVICE 0x6A8334D0
6: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x6A8334D0 !devobj
0x95758F00 entering power policy state WdfDevStatePwrPolStarting from
WdfDevStatePwrPolObjectCreated
7: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x6A8334D0 !devobj
0x95758F00 entering power idle state FxIdleStarted from FxIdleStopped
8: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering Power State WdfDevStatePowerStartingCheckDeviceType from
WdfDevStatePowerObjectCreated
9: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering Power State WdfDevStatePowerD0Starting from
WdfDevStatePowerStartingCheckDeviceType
10: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering Power State WdfDevStatePowerD0StartingConnectInterrupt from
WdfDevStatePowerD0Starting
11: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering Power State WdfDevStatePowerD0StartingDmaEnable from
WdfDevStatePowerD0StartingConnectInterrupt
12: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering Power State WdfDevStatePowerD0StartingStartSelfManagedIo from
WdfDevStatePowerD0StartingDmaEnable
13: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x6A8334D0 !devobj
0x95758F00 entering power idle state FxIdleStartedPowerUp from FxIdleStarted
14: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x6A8334D0 !devobj
0x95758F00 entering power idle state FxIdleDisabled from
FxIdleStartedPowerUp
15: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering Power State WdfDevStatePowerDecideD0State from
WdfDevStatePowerD0StartingStartSelfManagedIo
16: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering Power State WdfDevStatePowerD0 from WdfDevStatePowerDecideD0State
17: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x6A8334D0 !devobj
0x95758F00 entering power policy state WdfDevStatePwrPolStartingSucceeded
from WdfDevStatePwrPolStarting
18: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x6A8334D0 !devobj
0x95758F00 entering power policy state WdfDevStatePwrPolStartingDecideS0Wake
from WdfDevStatePwrPolStartingSucceeded
19: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x6A8334D0 !devobj
0x95758F00 entering power policy state WdfDevStatePwrPolStarted from
WdfDevStatePwrPolStartingDecideS0Wake
20: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x6A8334D0 !devobj
0x95758F00 entering power idle state FxIdleDisabled from FxIdleDisabled
21: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpEnableInterfaces from
WdfDevStatePnpHardwareAvailable
22: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpStarted from WdfDevStatePnpEnableInterfaces
23: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpInit from WdfDevStatePnpObjectCreated
24: FxChildList::ProcessBusRelations - PDO created successfully, WDFDEVICE
6AC754B8 !devobj 8DC71030
25: FxPkgPnp::Dispatch - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030,
IRP_MJ_PNP, 0x00000000(IRP_MN_START_DEVICE) IRP 0x8E3BCF00
26: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpInitStarting from WdfDevStatePnpInit
27: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpHardwareAvailable from
WdfDevStatePnpInitStarting
28: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x6AC754B8
!devobj 0x8DC71030 entering not power policy owner state
WdfDevStatePwrPolStarting from WdfDevStatePwrPolObjectCreated
29: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering Power State WdfDevStatePowerStartingCheckDeviceType from
WdfDevStatePowerObjectCreated
30: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering Power State WdfDevStatePowerStartingChild from
WdfDevStatePowerStartingCheckDeviceType
31: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering Power State WdfDevStatePowerD0Starting from
WdfDevStatePowerStartingChild
32: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering Power State WdfDevStatePowerD0StartingConnectInterrupt from
WdfDevStatePowerD0Starting
33: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering Power State WdfDevStatePowerD0StartingDmaEnable from
WdfDevStatePowerD0StartingConnectInterrupt
34: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering Power State WdfDevStatePowerD0StartingStartSelfManagedIo from
WdfDevStatePowerD0StartingDmaEnable
35: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering Power State WdfDevStatePowerDecideD0State from
WdfDevStatePowerD0StartingStartSelfManagedIo
36: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering Power State WdfDevStatePowerD0BusWakeOwner from
WdfDevStatePowerDecideD0State
37: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x6AC754B8
!devobj 0x8DC71030 entering not power policy owner state
WdfDevStatePwrPolStarted from WdfDevStatePwrPolStarting
38: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x6AC754B8
!devobj 0x8DC71030 entering not power policy owner state
WdfDevStatePwrPolStartingSucceeded from WdfDevStatePwrPolStarted
39: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpEnableInterfaces from
WdfDevStatePnpHardwareAvailable
40: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpStarted from WdfDevStatePnpEnableInterfaces
41: FxPkgPdo::_PnpQueryId - WDFDEVICE 6AC754B8 does not have a string for
PnP query IdType #-1, 0xc00000bb(STATUS_NOT_SUPPORTED)
42: FxPkgPnp::Dispatch - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030,
IRP_MJ_PNP, 0x00000001(IRP_MN_QUERY_REMOVE_DEVICE) IRP 0x85EECF00
43: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpQueryRemoveStaticCheck from
WdfDevStatePnpStarted
44: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpQueryRemoveAskDriver from
WdfDevStatePnpQueryRemoveStaticCheck
45: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpQueryRemovePending from
WdfDevStatePnpQueryRemoveAskDriver
46: FxPkgPnp::Dispatch - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00,
IRP_MJ_PNP, 0x00000001(IRP_MN_QUERY_REMOVE_DEVICE) IRP 0x8E212F20
47: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpQueryRemoveStaticCheck from
WdfDevStatePnpStarted
48: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpQueryRemoveAskDriver from
WdfDevStatePnpQueryRemoveStaticCheck
49: FxPkgPnp::PnpEventQueryRemoveAskDriver - EvtDeviceQueryRemove failed,
0xc0000001(STATUS_UNSUCCESSFUL)
50: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpStarted from
WdfDevStatePnpQueryRemoveAskDriver
51: FxPkgPnp::Dispatch - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00,
IRP_MJ_PNP, 0x00000003(IRP_MN_CANCEL_REMOVE_DEVICE) IRP 0x9CD5AF20
52: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpStartedCancelRemove from
WdfDevStatePnpStarted
53: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6A8334D0 !devobj 0x95758F00
entering PnP State WdfDevStatePnpStarted from
WdfDevStatePnpStartedCancelRemove
54: FxPkgPnp::Dispatch - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030,
IRP_MJ_PNP, 0x00000003(IRP_MN_CANCEL_REMOVE_DEVICE) IRP 0x8B726F00
55: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpQueryCanceled from
WdfDevStatePnpQueryRemovePending
56: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x6AC754B8 !devobj 0x8DC71030
entering PnP State WdfDevStatePnpStarted from WdfDevStatePnpQueryCanceled
d> !WDFDEVICE 0x6A8334D0
Dumping WDFDEVICE 0x6a8334d0
=================================
WDM PDEVICE_OBJECTs:self 95758f00, attached 8300b7e0, pdo 82ffd700
Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 307 ( WdfDevStatePowerD0 )
Power Pol state: 565 ( WdfDevStatePwrPolStarted )
Default WDFIOTARGET: 7224a6b0
No pended pnp or power irps
Device is the power policy owner for the stack