Hello All,

I have posted a query regarding failure of
WdfDeviceCreateDeviceInterface() in my driver with error code
0xC0000010. As suggested i have logged the message using !wdflogdump
but im not able to trace the reason for the failure from the log.

Can anyone look at the log and let me know if im missing anything. As
i told earlier the same driver works fine for Windows XP but fails for
Vista.

Here is the framework log. Please look at the line number 49 below
where the failure occured

Thank You.

Regards,
Tim


Trace format prefix is: %7!u!: %!FUNC! -
TMF file used for formatting IFR log is: D:\WINDDK\6000\tools\tracing
\i386\wdf01005.tmf
Log at 82e59000
Gather log: Please wait, this may take a moment (reading 4032 bytes).
% read so far ... 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120,
130, 140, 150, 160, 170, 180, 190, 100
There are 201 log entries
--- start of log ---
3: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering PnP State WdfDevStatePnpInitStarting from
WdfDevStatePnpInit
4: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering PnP State WdfDevStatePnpHardwareAvailable from
WdfDevStatePnpInitStarting
5: FxIoTarget::SubmitLocked - ignoring WDFIOTARGET 74C037B0 state,
sending WDFREQUEST 847F7698, state 1
6: FxIoTarget::SubmitLocked - ignoring WDFIOTARGET 58BEA148 state,
sending WDFREQUEST 847F7600, state 1
7: FxIoTarget::SubmitLocked - ignoring WDFIOTARGET 5D2B9798 state,
sending WDFREQUEST 847F7628, state 1
8: FxIoTarget::SubmitLocked - ignoring WDFIOTARGET 7C806178 state,
sending WDFREQUEST 847F7678, state 1
9: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpInit from
WdfDevStatePnpObjectCreated
10: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering power policy state WdfDevStatePwrPolStarting from
WdfDevStatePwrPolObjectCreated
11: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x7D03AFE8 !
devobj 0x8370DAC0 entering power idle state FxIdleStarted from
FxIdleStopped
12: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State
WdfDevStatePowerStartingCheckDeviceType from
WdfDevStatePowerObjectCreated
13: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State WdfDevStatePowerD0Starting from
WdfDevStatePowerStartingCheckDeviceType
14: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State
WdfDevStatePowerD0StartingConnectInterrupt from
WdfDevStatePowerD0Starting
15: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State WdfDevStatePowerD0StartingDmaEnable
from WdfDevStatePowerD0StartingConnectInterrupt
16: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State
WdfDevStatePowerD0StartingStartSelfManagedIo from
WdfDevStatePowerD0StartingDmaEnable
17: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x7D03AFE8 !
devobj 0x8370DAC0 entering power idle state FxIdleStartedPowerUp from
FxIdleStarted
18: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x7D03AFE8 !
devobj 0x8370DAC0 entering power idle state FxIdleDisabled from
FxIdleStartedPowerUp
19: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State WdfDevStatePowerDecideD0State from
WdfDevStatePowerD0StartingStartSelfManagedIo
20: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State WdfDevStatePowerD0 from
WdfDevStatePowerDecideD0State
21: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering power policy state
WdfDevStatePwrPolStartingSucceeded from WdfDevStatePwrPolStarting
22: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering power policy state
WdfDevStatePwrPolStartingDecideS0Wake from
WdfDevStatePwrPolStartingSucceeded
23: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering power policy state WdfDevStatePwrPolStarted from
WdfDevStatePwrPolStartingDecideS0Wake
24: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x7D03AFE8 !
devobj 0x8370DAC0 entering power idle state FxIdleDisabled from
FxIdleDisabled
25: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering PnP State WdfDevStatePnpEnableInterfaces from
WdfDevStatePnpHardwareAvailable
26: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering PnP State WdfDevStatePnpStarted from
WdfDevStatePnpEnableInterfaces
27: FxChildList::ProcessBusRelations - PDO created successfully,
WDFDEVICE 58BEB288 !devobj A2DABA50
28: imp_WdfRegistryQueryString - WDFKEY 74D85E88, QueryPartial failed,
0xc0000034(STATUS_OBJECT_NAME_NOT_FOUND)
29: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpInit from
WdfDevStatePnpObjectCreated
30: FxPkgPnp::Dispatch - WDFDEVICE 0x74D3D4D8 !devobj 0xA2DD8B60,
IRP_MJ_PNP, 0x00000000(IRP_MN_START_DEVICE) IRP 0xA2DF3810
31: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpInitStarting from
WdfDevStatePnpInit
32: FxPkgPnp::Dispatch - WDFDEVICE 0x58BEB288 !devobj 0xA2DABA50,
IRP_MJ_PNP, 0x00000000(IRP_MN_START_DEVICE) IRP 0xA2DF3810
33: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpInitStarting from
WdfDevStatePnpInit
34: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpHardwareAvailable from
WdfDevStatePnpInitStarting
35: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStarting from WdfDevStatePwrPolObjectCreated
36: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State
WdfDevStatePowerStartingCheckDeviceType from
WdfDevStatePowerObjectCreated
37: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerStartingChild from
WdfDevStatePowerStartingCheckDeviceType
38: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerD0Starting from
WdfDevStatePowerStartingChild
39: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State
WdfDevStatePowerD0StartingConnectInterrupt from
WdfDevStatePowerD0Starting
40: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerD0StartingDmaEnable
from WdfDevStatePowerD0StartingConnectInterrupt
41: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State
WdfDevStatePowerD0StartingStartSelfManagedIo from
WdfDevStatePowerD0StartingDmaEnable
42: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerDecideD0State from
WdfDevStatePowerD0StartingStartSelfManagedIo
43: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerD0BusWakeOwner from
WdfDevStatePowerDecideD0State
44: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStarted from WdfDevStatePwrPolStarting
45: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStartingSucceeded from WdfDevStatePwrPolStarted
46: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpEnableInterfaces from
WdfDevStatePnpHardwareAvailable
47: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpStarted from
WdfDevStatePnpEnableInterfaces
48: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpHardwareAvailable from
WdfDevStatePnpInitStarting
49: FxPkgPnp::PnpPrepareHardware - EvtDevicePrepareHardware failed
0xc0000010(STATUS_INVALID_DEVICE_REQUEST)
50: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFailedOwnHardware from
WdfDevStatePnpHardwareAvailable
51: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFailed from
WdfDevStatePnpFailedOwnHardware
52: FxIoQueue::QueuePurge - All WDFQUEUE 0x5D232390 requests cancelled
53: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x5D232390
54: FxIoQueue::QueuePurge - All WDFQUEUE 0x5D20A4D0 requests cancelled
55: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x5D20A4D0
56: FxIoQueue::QueuePurge - All WDFQUEUE 0x7D0381E8 requests cancelled
57: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7D0381E8
58: FxIoQueue::QueuePurge - All WDFQUEUE 0x7C9151E8 requests cancelled
59: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7C9151E8
60: FxIoQueue::QueuePurge - All WDFQUEUE 0x7CD7E778 requests cancelled
61: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7CD7E778
62: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFailedWaitForRemove from
WdfDevStatePnpFailed
63: FxPkgPnp::Dispatch - WDFDEVICE 0x74D3D4D8 !devobj 0xA2DD8B60,
IRP_MJ_PNP, 0x00000002(IRP_MN_REMOVE_DEVICE) IRP 0xA2DF3810
64: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpRemoved from
WdfDevStatePnpFailedWaitForRemove
65: FxChildList::NotifyDeviceRemove - WDFCHILDLIST 5D310478: removing
children
66: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFdoRemoved from
WdfDevStatePnpRemoved
67: FxIoQueue::QueuePurge - All WDFQUEUE 0x7D189C10 requests cancelled
68: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7D189C10
69: FxIoQueue::Dispose - Purging WDFQUEUE 0x7D189C10 synchronously
70: FxIoQueue::QueuePurge - All WDFQUEUE 0x7D189C10 requests cancelled
71: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7D189C10
72: FxIoQueue::Dispose - Purging WDFQUEUE 0x5D232390 synchronously
73: FxIoQueue::QueuePurge - All WDFQUEUE 0x5D232390 requests cancelled
74: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x5D232390
75: FxIoQueue::Dispose - Purging WDFQUEUE 0x5D20A4D0 synchronously
76: FxIoQueue::QueuePurge - All WDFQUEUE 0x5D20A4D0 requests cancelled
77: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x5D20A4D0
78: FxIoQueue::Dispose - Purging WDFQUEUE 0x7D0381E8 synchronously
79: FxIoQueue::QueuePurge - All WDFQUEUE 0x7D0381E8 requests cancelled
80: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7D0381E8
81: FxIoQueue::Dispose - Purging WDFQUEUE 0x7C9151E8 synchronously
82: FxIoQueue::QueuePurge - All WDFQUEUE 0x7C9151E8 requests cancelled
83: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7C9151E8
84: FxIoQueue::Dispose - Purging WDFQUEUE 0x7CD7E778 synchronously
85: FxIoQueue::QueuePurge - All WDFQUEUE 0x7CD7E778 requests cancelled
86: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7CD7E778
87: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFinal from
WdfDevStatePnpFdoRemoved
88: FxPkgPnp::_PnpRemoveDevice - WDFDEVICE 74D3D4D8, !devobj A2DD8B60
waiting for remove event to finish processing
89: FxPkgPnp::Dispatch - WDFDEVICE 0x58BEB288 !devobj 0xA2DABA50,
IRP_MJ_PNP, 0x00000002(IRP_MN_REMOVE_DEVICE) IRP 0xA2DF3810
90: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpStartedRemoving from
WdfDevStatePnpStarted
91: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStopping from WdfDevStatePwrPolStartingSucceeded
92: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerGotoD3Stopped from
WdfDevStatePowerD0BusWakeOwner
93: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerStopped from
WdfDevStatePowerGotoD3Stopped
94: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStoppingWaitingForImplicitPowerDown from
WdfDevStatePwrPolStopping
95: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStoppingSendStatus from
WdfDevStatePwrPolStoppingWaitingForImplicitPowerDown
96: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStopped from WdfDevStatePwrPolStoppingSendStatus
97: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpRemovingDisableInterfaces
from WdfDevStatePnpStartedRemoving
98: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpRemoved from
WdfDevStatePnpRemovingDisableInterfaces
99: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpCheckForDevicePresence
from WdfDevStatePnpRemoved
100: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpRemovedPdoWait from
WdfDevStatePnpCheckForDevicePresence
101: FxPkgPnp::_PnpRemoveDevice - WDFDEVICE 58BEB288, !devobj A2DABA50
waiting for remove event to finish processing
102: FxDevice::Destroy - Deleting !devobj A2DD8B60, WDFDEVICE
74D3D4D8, attached to !devobj A2DABA50
2: FxPkgPnp::Dispatch - WDFDEVICE 0x7D03AFE8 !devobj 0x8370DAC0,
IRP_MJ_PNP, 0x00000000(IRP_MN_START_DEVICE) IRP 0xA2DCDC48
3: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering PnP State WdfDevStatePnpInitStarting from
WdfDevStatePnpInit
4: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering PnP State WdfDevStatePnpHardwareAvailable from
WdfDevStatePnpInitStarting
5: FxIoTarget::SubmitLocked - ignoring WDFIOTARGET 74C037B0 state,
sending WDFREQUEST 847F7698, state 1
6: FxIoTarget::SubmitLocked - ignoring WDFIOTARGET 58BEA148 state,
sending WDFREQUEST 847F7600, state 1
7: FxIoTarget::SubmitLocked - ignoring WDFIOTARGET 5D2B9798 state,
sending WDFREQUEST 847F7628, state 1
8: FxIoTarget::SubmitLocked - ignoring WDFIOTARGET 7C806178 state,
sending WDFREQUEST 847F7678, state 1
9: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpInit from
WdfDevStatePnpObjectCreated
10: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering power policy state WdfDevStatePwrPolStarting from
WdfDevStatePwrPolObjectCreated
11: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x7D03AFE8 !
devobj 0x8370DAC0 entering power idle state FxIdleStarted from
FxIdleStopped
12: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State
WdfDevStatePowerStartingCheckDeviceType from
WdfDevStatePowerObjectCreated
13: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State WdfDevStatePowerD0Starting from
WdfDevStatePowerStartingCheckDeviceType
14: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State
WdfDevStatePowerD0StartingConnectInterrupt from
WdfDevStatePowerD0Starting
15: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State WdfDevStatePowerD0StartingDmaEnable
from WdfDevStatePowerD0StartingConnectInterrupt
16: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State
WdfDevStatePowerD0StartingStartSelfManagedIo from
WdfDevStatePowerD0StartingDmaEnable
17: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x7D03AFE8 !
devobj 0x8370DAC0 entering power idle state FxIdleStartedPowerUp from
FxIdleStarted
18: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x7D03AFE8 !
devobj 0x8370DAC0 entering power idle state FxIdleDisabled from
FxIdleStartedPowerUp
19: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State WdfDevStatePowerDecideD0State from
WdfDevStatePowerD0StartingStartSelfManagedIo
20: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering Power State WdfDevStatePowerD0 from
WdfDevStatePowerDecideD0State
21: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering power policy state
WdfDevStatePwrPolStartingSucceeded from WdfDevStatePwrPolStarting
22: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering power policy state
WdfDevStatePwrPolStartingDecideS0Wake from
WdfDevStatePwrPolStartingSucceeded
23: FxPkgPnp::PowerPolicyEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering power policy state WdfDevStatePwrPolStarted from
WdfDevStatePwrPolStartingDecideS0Wake
24: FxPowerIdleMachine::ProcessEventLocked - WDFDEVICE 0x7D03AFE8 !
devobj 0x8370DAC0 entering power idle state FxIdleDisabled from
FxIdleDisabled
25: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering PnP State WdfDevStatePnpEnableInterfaces from
WdfDevStatePnpHardwareAvailable
26: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x7D03AFE8 !devobj
0x8370DAC0 entering PnP State WdfDevStatePnpStarted from
WdfDevStatePnpEnableInterfaces
27: FxChildList::ProcessBusRelations - PDO created successfully,
WDFDEVICE 58BEB288 !devobj A2DABA50
28: imp_WdfRegistryQueryString - WDFKEY 74D85E88, QueryPartial failed,
0xc0000034(STATUS_OBJECT_NAME_NOT_FOUND)
29: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpInit from
WdfDevStatePnpObjectCreated
30: FxPkgPnp::Dispatch - WDFDEVICE 0x74D3D4D8 !devobj 0xA2DD8B60,
IRP_MJ_PNP, 0x00000000(IRP_MN_START_DEVICE) IRP 0xA2DF3810
31: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpInitStarting from
WdfDevStatePnpInit
32: FxPkgPnp::Dispatch - WDFDEVICE 0x58BEB288 !devobj 0xA2DABA50,
IRP_MJ_PNP, 0x00000000(IRP_MN_START_DEVICE) IRP 0xA2DF3810
33: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpInitStarting from
WdfDevStatePnpInit
34: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpHardwareAvailable from
WdfDevStatePnpInitStarting
35: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStarting from WdfDevStatePwrPolObjectCreated
36: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State
WdfDevStatePowerStartingCheckDeviceType from
WdfDevStatePowerObjectCreated
37: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerStartingChild from
WdfDevStatePowerStartingCheckDeviceType
38: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerD0Starting from
WdfDevStatePowerStartingChild
39: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State
WdfDevStatePowerD0StartingConnectInterrupt from
WdfDevStatePowerD0Starting
40: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerD0StartingDmaEnable
from WdfDevStatePowerD0StartingConnectInterrupt
41: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State
WdfDevStatePowerD0StartingStartSelfManagedIo from
WdfDevStatePowerD0StartingDmaEnable
42: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerDecideD0State from
WdfDevStatePowerD0StartingStartSelfManagedIo
43: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerD0BusWakeOwner from
WdfDevStatePowerDecideD0State
44: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStarted from WdfDevStatePwrPolStarting
45: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStartingSucceeded from WdfDevStatePwrPolStarted
46: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpEnableInterfaces from
WdfDevStatePnpHardwareAvailable
47: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpStarted from
WdfDevStatePnpEnableInterfaces
48: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpHardwareAvailable from
WdfDevStatePnpInitStarting
49: FxPkgPnp::PnpPrepareHardware - EvtDevicePrepareHardware failed
0xc0000010(STATUS_INVALID_DEVICE_REQUEST)
50: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFailedOwnHardware from
WdfDevStatePnpHardwareAvailable
51: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFailed from
WdfDevStatePnpFailedOwnHardware
52: FxIoQueue::QueuePurge - All WDFQUEUE 0x5D232390 requests cancelled
53: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x5D232390
54: FxIoQueue::QueuePurge - All WDFQUEUE 0x5D20A4D0 requests cancelled
55: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x5D20A4D0
56: FxIoQueue::QueuePurge - All WDFQUEUE 0x7D0381E8 requests cancelled
57: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7D0381E8
58: FxIoQueue::QueuePurge - All WDFQUEUE 0x7C9151E8 requests cancelled
59: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7C9151E8
60: FxIoQueue::QueuePurge - All WDFQUEUE 0x7CD7E778 requests cancelled
61: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7CD7E778
62: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFailedWaitForRemove from
WdfDevStatePnpFailed
63: FxPkgPnp::Dispatch - WDFDEVICE 0x74D3D4D8 !devobj 0xA2DD8B60,
IRP_MJ_PNP, 0x00000002(IRP_MN_REMOVE_DEVICE) IRP 0xA2DF3810
64: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpRemoved from
WdfDevStatePnpFailedWaitForRemove
65: FxChildList::NotifyDeviceRemove - WDFCHILDLIST 5D310478: removing
children
66: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFdoRemoved from
WdfDevStatePnpRemoved
67: FxIoQueue::QueuePurge - All WDFQUEUE 0x7D189C10 requests cancelled
68: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7D189C10
69: FxIoQueue::Dispose - Purging WDFQUEUE 0x7D189C10 synchronously
70: FxIoQueue::QueuePurge - All WDFQUEUE 0x7D189C10 requests cancelled
71: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7D189C10
72: FxIoQueue::Dispose - Purging WDFQUEUE 0x5D232390 synchronously
73: FxIoQueue::QueuePurge - All WDFQUEUE 0x5D232390 requests cancelled
74: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x5D232390
75: FxIoQueue::Dispose - Purging WDFQUEUE 0x5D20A4D0 synchronously
76: FxIoQueue::QueuePurge - All WDFQUEUE 0x5D20A4D0 requests cancelled
77: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x5D20A4D0
78: FxIoQueue::Dispose - Purging WDFQUEUE 0x7D0381E8 synchronously
79: FxIoQueue::QueuePurge - All WDFQUEUE 0x7D0381E8 requests cancelled
80: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7D0381E8
81: FxIoQueue::Dispose - Purging WDFQUEUE 0x7C9151E8 synchronously
82: FxIoQueue::QueuePurge - All WDFQUEUE 0x7C9151E8 requests cancelled
83: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7C9151E8
84: FxIoQueue::Dispose - Purging WDFQUEUE 0x7CD7E778 synchronously
85: FxIoQueue::QueuePurge - All WDFQUEUE 0x7CD7E778 requests cancelled
86: FxIoQueue::QueuePurge - All driver cancellable requests cancelled
in WDFQUEUE 0x7CD7E778
87: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x74D3D4D8 !devobj
0xA2DD8B60 entering PnP State WdfDevStatePnpFinal from
WdfDevStatePnpFdoRemoved
88: FxPkgPnp::_PnpRemoveDevice - WDFDEVICE 74D3D4D8, !devobj A2DD8B60
waiting for remove event to finish processing
89: FxPkgPnp::Dispatch - WDFDEVICE 0x58BEB288 !devobj 0xA2DABA50,
IRP_MJ_PNP, 0x00000002(IRP_MN_REMOVE_DEVICE) IRP 0xA2DF3810
90: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpStartedRemoving from
WdfDevStatePnpStarted
91: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStopping from WdfDevStatePwrPolStartingSucceeded
92: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerGotoD3Stopped from
WdfDevStatePowerD0BusWakeOwner
93: FxPkgPnp::PowerEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering Power State WdfDevStatePowerStopped from
WdfDevStatePowerGotoD3Stopped
94: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStoppingWaitingForImplicitPowerDown from
WdfDevStatePwrPolStopping
95: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStoppingSendStatus from
WdfDevStatePwrPolStoppingWaitingForImplicitPowerDown
96: FxPkgPnp::NotPowerPolicyOwnerEnterNewState - WDFDEVICE 0x58BEB288 !
devobj 0xA2DABA50 entering not power policy owner state
WdfDevStatePwrPolStopped from WdfDevStatePwrPolStoppingSendStatus
97: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpRemovingDisableInterfaces
from WdfDevStatePnpStartedRemoving
98: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpRemoved from
WdfDevStatePnpRemovingDisableInterfaces
99: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpCheckForDevicePresence
from WdfDevStatePnpRemoved
100: FxPkgPnp::PnpEnterNewState - WDFDEVICE 0x58BEB288 !devobj
0xA2DABA50 entering PnP State WdfDevStatePnpRemovedPdoWait from
WdfDevStatePnpCheckForDevicePresence
101: FxPkgPnp::_PnpRemoveDevice - WDFDEVICE 58BEB288, !devobj A2DABA50
waiting for remove event to finish processing
102: FxDevice::Destroy - Deleting !devobj A2DD8B60, WDFDEVICE
74D3D4D8, attached to !devobj A2DABA50
---- end of log ----

Re: WdfDeviceCreateDeviceInterface Again by Mark

Mark
Tue May 29 08:42:39 CDT 2007

tfedricks@gmail.com wrote:
> Hello All,
>
> I have posted a query regarding failure of
> WdfDeviceCreateDeviceInterface() in my driver with error code
> 0xC0000010. As suggested i have logged the message using !wdflogdump
> but im not able to trace the reason for the failure from the log.
>
> Can anyone look at the log and let me know if im missing anything. As
> i told earlier the same driver works fine for Windows XP but fails for
> Vista.
>
> Here is the framework log. Please look at the line number 49 below
> where the failure occured
>
> Thank You.
>
> Regards,
> Tim
>

The documentation insists that WdfDeviceCreateDeviceInterface should be
called in EvtDriverDeviceAdd, not in EvtDevicePrepareHardware. Have you
tried making this simple change to your code? A brief tour of WDF
samples also indicates that the interface is typically called in
EvtDriverDeviceAdd.

Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Tue May 29 09:02:56 CDT 2007

Thanks for the reply.

Yes, i have tried WdfDeviceCreateDeviceInterface() call in
EvtDriverDeviceAdd() as well, but still the call fails with same
error.

-Tim


Re: WdfDeviceCreateDeviceInterface Again by Mark

Mark
Tue May 29 09:31:00 CDT 2007

tfedricks@gmail.com wrote:
> Thanks for the reply.
>
> Yes, i have tried WdfDeviceCreateDeviceInterface() call in
> EvtDriverDeviceAdd() as well, but still the call fails with same
> error.
>
> -Tim
>
You may have provided this information earlier, but what parameter
values are you passing to WdfDeviceCreateDeviceInterface?


Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Tue May 29 09:52:46 CDT 2007

This is the function call. My device is USB-Serial device.

status = WdfDeviceCreateDeviceInterface(
Device,
(LPGUID)
&GUID_DEVINTERFACE_COMPORT,
NULL );

Thank You.
Tim


Re: WdfDeviceCreateDeviceInterface Again by Mark

Mark
Tue May 29 14:14:10 CDT 2007

tfedricks@gmail.com wrote:
> This is the function call. My device is USB-Serial device.
>
> status = WdfDeviceCreateDeviceInterface(
> Device,
> (LPGUID)
> &GUID_DEVINTERFACE_COMPORT,
> NULL );
>
> Thank You.
> Tim
>

Well that code looks fine. The serial sample kmdf driver appears to be
doing the same thing as well (more or less.) Obviously something else is
wrong. I am tempted to suggest falling back to WDM's
IoRegisterDeviceInterface to at least validate that conceptually this
works for your driver, but that sort of defeats the whole point of going
to KMDF to begin with.

Re: WdfDeviceCreateDeviceInterface Again by Eliyas

Eliyas
Tue May 29 17:02:18 CDT 2007

Folks,

As we have said many times that when you see a framework function return an
error, you should first look at the KMDF log in the debugger to make sure
whether this failure is due to top-level parameter validation/state
validation done by the framework or whether this error is returned by the
underlying WDM functions that framework calls, which sometimes difficult to
diagnose.

Framework does lot of validation at the DDI level before going deep into the
implementation. If it finds any error, it logs a very descriptive message
before returning. So 99.9% of the time (trust me, I'm speaking from
experience in writing ton of KMDF drivers), you will identify your problem
right away.

The error reported by this function is STATUS_INVALID_DEVICE_REQUEST
(0xC000010).

Here is one check that stands when I look at the source code. Framework
checks the device type to see whether the caller is registering an interface
on legacy control-device. If so it returns this error with the following
message.

"WDFDEVICE %p is not a PNP device, device interface creation not
allowed %!STATUS!"

-Eliyas


Re: WdfDeviceCreateDeviceInterface Again by Doron

Doron
Tue May 29 21:49:39 CDT 2007

I am guessing something about the device interface keys in the registry is
hosed and that the WDM call to IoRegisterDeviceInterface will also fail b/c
that is where the underlying problem is (not KMDF)

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


"Mark Roddy" <markr@hollistech.com> wrote in message
news:OePPSWioHHA.3772@TK2MSFTNGP03.phx.gbl...
> tfedricks@gmail.com wrote:
>> This is the function call. My device is USB-Serial device.
>>
>> status = WdfDeviceCreateDeviceInterface(
>> Device,
>> (LPGUID)
>> &GUID_DEVINTERFACE_COMPORT,
>> NULL );
>>
>> Thank You.
>> Tim
>>
>
> Well that code looks fine. The serial sample kmdf driver appears to be
> doing the same thing as well (more or less.) Obviously something else is
> wrong. I am tempted to suggest falling back to WDM's
> IoRegisterDeviceInterface to at least validate that conceptually this
> works for your driver, but that sort of defeats the whole point of going
> to KMDF to begin with.



Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Wed May 30 00:22:20 CDT 2007

Thanks for all your replies.

I have even tried with IoRegisterDeviceInterface(), but this call also
fails. Does the above log i posted help any way to know the reason for
failure.

If not how do I find the create the KMDF log in knowing the details.

Regards,
Tim


Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Wed May 30 11:00:36 CDT 2007

Hi All,

Im exhausted in finding the reason for failure of the call.

How can i find that device interface keys have been corrupted.

Also, as Yakub said that registering an interface on legacy control-
device will fail the call. My driver is USB-Serial. My driver is
composite and has two interfaces one for USB and the other for Serial.
Im using the same driver for both interfaces. Will this make any
difference?

As i said earlier the same driver when i built for XP works fine
without any errors.

One last thing i would like know is can i ignore the call
WdfDeviceCreateDeviceInterface(). Since the device is serial, i could
use the symbolic link from the application to open/close the device.

Please suggest.

Thank You.

Regards,
Tim


Re: WdfDeviceCreateDeviceInterface Again by chris

chris
Wed May 30 11:41:34 CDT 2007

On May 30, 11:00 am, tfedri...@gmail.com wrote:

> One last thing i would like know is can i ignore the call
> WdfDeviceCreateDeviceInterface(). Since the device is serial, i could
> use the symbolic link from the application to open/close the device.

No. How will applications know your USB device has arrived on the
system? What if there is a COM port conflict and the device interface
is the only way in?

Eliyas has already asked for KMDF logs of the failure. Why don't you
provide what is being requested instead of ignoring him?


Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Wed May 30 12:04:07 CDT 2007

Hi All,

Im exhausted in finding the reason for failure of the call.

How can i find that device interface keys have been corrupted.

Also, as Yakub said that registering an interface on legacy control-
device will fail the call. My driver is USB-Serial. My driver is
composite and has two interfaces one for USB and the other for Serial.
Im using the same driver for both interfaces. Will this make any
difference?

As i said earlier the same driver when i built for XP works fine
without any errors.

One last thing i would like know is can i ignore the call
WdfDeviceCreateDeviceInterface(). Since the device is serial, i could
use the symbolic link from the application to open/close the device.

Please suggest.

Thank You.

Regards,
Tim


Re: WdfDeviceCreateDeviceInterface Again by Mark

Mark
Wed May 30 12:33:00 CDT 2007

chris.aseltine@gmail.com wrote:
> On May 30, 11:00 am, tfedri...@gmail.com wrote:
>
>> One last thing i would like know is can i ignore the call
>> WdfDeviceCreateDeviceInterface(). Since the device is serial, i could
>> use the symbolic link from the application to open/close the device.
>
> No. How will applications know your USB device has arrived on the
> system? What if there is a COM port conflict and the device interface
> is the only way in?
>
> Eliyas has already asked for KMDF logs of the failure. Why don't you
> provide what is being requested instead of ignoring him?
>
The OP provided the IFR trace in his original post.

Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Wed May 30 13:07:42 CDT 2007

I have already provided the !wdflogdump in the thread above. Do i need
to generate any other logs?

Also, the USB ends register interface is working fine. So there should
be no problem for the application to get the handle.
And for the COM inerface i could use the symbolic link to get the
handle like \\\\.\\COMx.

So, do i really need to register the serial interface?

Regards,
Tim


Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Thu May 31 21:33:42 CDT 2007

Im really exhausted to find out where the exact problem is.

How can i find whether the device interface keys in the registry is
causing the problem?

Also, as Yakub mentioned that this error is when registering an
interface on legacy control-device. As i said earlier my device is USB-
Serial device. My driver is a composite which has USB and serial
interfaces.
Does the serial interface comes under legacy device?

Please suggest.

Regards,
Tim


Re: WdfDeviceCreateDeviceInterface Again by Doron

Doron
Fri Jun 01 00:42:49 CDT 2007

again, did you ever try to manually delete registry keys related to the
device from a previous install?

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


<tfedricks@gmail.com> wrote in message
news:1180534699.803284.216370@a26g2000pre.googlegroups.com...
> Im really exhausted to find out where the exact problem is.
>
> How can i find whether the device interface keys in the registry is
> causing the problem?
>
> Also, as Yakub mentioned that this error is when registering an
> interface on legacy control-device. As i said earlier my device is USB-
> Serial device. My driver is a composite which has USB and serial
> interfaces.
> Does the serial interface comes under legacy device?
>
> Please suggest.
>
> Regards,
> Tim
>



Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Fri Jun 01 01:17:02 CDT 2007

I tried to delete them but i was not able to do it. I got "Access
Denied" message.

Also, as i have told you earlier that i even tried on a fresh machine.
Still i got the same error.

Doran, I have one question for you. As Yakub said that the possbility
for failure is if im registering a legacy control device.
My device is USB-Serial.

The stack looks like

USB Root Hub-->USB Function Driver-->Serial BUS PDO-->Serial Driver.

Here are the steps i followed:

1) Plug in USB-Serial device.
2) OS recognizes as USB device, then installed the driver.
3) After USB initialization is done, i created Bus PDO using
WdfPdoInitAllocate() for USB device with device name as "\\Device\
\SerBus0" (using toaster bus -static sample).
4) OS recognizes a new device. Then i install the same driver with
serial interface.

My question is there any possilibity that the serial driver is not
attached to Serial Bus PDO. How can i verify that the stack is intact?

Thank You.

Regards,
Tim


Re: WdfDeviceCreateDeviceInterface Again by Doron

Doron
Fri Jun 01 01:59:57 CDT 2007

you should not give your PDO an explicit name, there is no need for it. are
you adding the device itnerface to the serial bus PDO or the serial driver?
To see what you are attached to, do this

!wdfkd.wdfdevice <your WDFDEVICE>
!devstack <self PDEVICE_OBJECT from !wdfdevice output>

!devstack will give you the device stack and the PDO you are attached to as
well as the device instance path. send that output.

d

--
Please do not send e-mail directly to this alias. this alias is for
newsgroup purposes only.
This posting is provided "AS IS" with no warranties, and confers no rights.


<tfedricks@gmail.com> wrote in message
news:1180678622.761157.223040@n15g2000prd.googlegroups.com...
>I tried to delete them but i was not able to do it. I got "Access
> Denied" message.
>
> Also, as i have told you earlier that i even tried on a fresh machine.
> Still i got the same error.
>
> Doran, I have one question for you. As Yakub said that the possbility
> for failure is if im registering a legacy control device.
> My device is USB-Serial.
>
> The stack looks like
>
> USB Root Hub-->USB Function Driver-->Serial BUS PDO-->Serial Driver.
>
> Here are the steps i followed:
>
> 1) Plug in USB-Serial device.
> 2) OS recognizes as USB device, then installed the driver.
> 3) After USB initialization is done, i created Bus PDO using
> WdfPdoInitAllocate() for USB device with device name as "\\Device\
> \SerBus0" (using toaster bus -static sample).
> 4) OS recognizes a new device. Then i install the same driver with
> serial interface.
>
> My question is there any possilibity that the serial driver is not
> attached to Serial Bus PDO. How can i verify that the stack is intact?
>
> Thank You.
>
> Regards,
> Tim
>



Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Fri Jun 01 08:14:48 CDT 2007

Doran,

Im giving the serial bus pdo the device name as "\\Device\\SerBus0".
The first avaiable name is assigned to it.
Im adding the device interface to serial bus pdo. Here are the logs
for both Vista and XP. There is a minor change in XP as compared to
Vista.

I guess the stack is correct. Please let me know if you find any
errors.

Thank You.

Regards,
Tim

Log for Vista
-------------------

kd> !wdfkd.wdfdevice 0x5f28ca98

Dumping WDFDEVICE 0x5f28ca98
=================================

WDM PDEVICE_OBJECTs:self a0dafa28, attached 83357700, pdo 83357700

Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 307 ( WdfDevStatePowerD0 )
Power Pol state: 565 ( WdfDevStatePwrPolStarted )

Default WDFIOTARGET: 7cdbf940

No pended pnp or power irps
Device is the power policy owner for the stack
kd> !devstack a0dafa28
!DevObj !DrvObj !DevExt ObjectName
> a0dafa28 \Driver\usbserdrv a0d73728
83357700 \Driver\usbhub 833577b8 USBPDO-6
!DevNode 83633008 :
DeviceInst is "USB\VID_0f2f&PID_0001\TUSB7630________"
ServiceName is "usbserdrv"


kd> !wdfkd.wdfdevice 0x60d4e220

Dumping WDFDEVICE 0x60d4e220
=================================

WDM PDEVICE_OBJECTs: self 9f2ce030

Pnp state: 105 ( WdfDevStatePnpInit )
Power state: 300 ( WdfDevStatePowerObjectCreated )
Power Pol state: 500 ( WdfDevStatePwrPolObjectCreated )

Parent WDFDEVICE 5f28ca98
Parent states:
Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 307 ( WdfDevStatePowerD0 )
Power Pol state: 565 ( WdfDevStatePwrPolStarted )

No pended pnp or power irps
kd> !devstack 9f2ce030
!DevObj !DrvObj !DevExt ObjectName
> 9f2ce030 \Driver\usbserdrv 9f2b1fa0
!DevNode 8321b3f0 :
DeviceInst is "comport\VID_0f2f_com\6&1c5d4292&2d&00"


kd> !wdfkd.wdfdevice 0x754e5270

Dumping WDFDEVICE 0x754e5270
=================================

WDM PDEVICE_OBJECTs:self 8314f9b0, attached 9f2ce030, pdo 9f2ce030

Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 307 ( WdfDevStatePowerD0 )
Power Pol state: 565 ( WdfDevStatePwrPolStarted )

Default WDFIOTARGET: 754c4fa0

No pended pnp or power irps
Device is the power policy owner for the stack
kd> !devstack 8314f9b0
!DevObj !DrvObj !DevExt ObjectName
> 8314f9b0 \Driver\usbserdrv 8ab1af50 Serial0
9f2ce030 \Driver\usbserdrv 9f2b1fa0
!DevNode 8321b3f0 :
DeviceInst is "comport\VID_0f2f_com\6&1c5d4292&2d&00"
ServiceName is "usbserdrv"



Log for XP
--------------


kd> !wdfkd.wdfdevice 0x7da67ac8

Dumping WDFDEVICE 0x7da67ac8
=================================

WDM PDEVICE_OBJECTs:self 82598420, attached 82a91c80, pdo 82a91c80

Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 307 ( WdfDevStatePowerD0 )
Power Pol state: 565 ( WdfDevStatePwrPolStarted )

Default WDFIOTARGET: 7d8587c0

No pended pnp or power irps
Device is the power policy owner for the stack
kd> !devstack 82598420
!DevObj !DrvObj !DevExt ObjectName
> 82598420 \Driver\usbserdrv 825986f8
82a91c80 \Driver\usbhub 82a91d38 USBPDO-5
!DevNode 827a2008 :
DeviceInst is "USB\VID_0f2f&PID_0001\TUSB7630________"
ServiceName is "usbserdrv"
kd> !wdfkd.wdfdevice 0x7e159fe8

Dumping WDFDEVICE 0x7e159fe8
=================================

WDM PDEVICE_OBJECTs: self 825dd6c0

Pnp state: 105 ( WdfDevStatePnpInit )
Power state: 300 ( WdfDevStatePowerObjectCreated )
Power Pol state: 500 ( WdfDevStatePwrPolObjectCreated )

Parent WDFDEVICE 7da67ac8
Parent states:
Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 307 ( WdfDevStatePowerD0 )
Power Pol state: 565 ( WdfDevStatePwrPolStarted )

No pended pnp or power irps
kd> !devstack 825dd6c0
!DevObj !DrvObj !DevExt ObjectName
> 825dd6c0 \Driver\usbserdrv 81ea61d8
!DevNode 825dd578 :
DeviceInst is "comport\VID_0f2f_com\6&1c5d4292&157&00"

kd> !wdfkd.wdfdevice 0x7da675a8

Dumping WDFDEVICE 0x7da675a8
=================================

WDM PDEVICE_OBJECTs:self 81e92f00, attached 825dd6c0, pdo 825dd6c0

Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 307 ( WdfDevStatePowerD0 )
Power Pol state: 565 ( WdfDevStatePwrPolStarted )

Default WDFIOTARGET: 7d47c940

No pended pnp or power irps
Device is the power policy owner for the stack
kd> !devstack 81e92f00
!DevObj !DrvObj !DevExt ObjectName
8299d488 \Driver\serenum 8299d540
> 81e92f00 \Driver\usbserdrv 82598c18 Serial0
825dd6c0 \Driver\usbserdrv 81ea61d8
!DevNode 825dd578 :
DeviceInst is "comport\VID_0f2f_com\6&1c5d4292&157&00"
ServiceName is "usbserdrv"



Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Mon Jun 04 06:15:17 CDT 2007

>From the logs of both Vista and XP. The XP log for !devstack shows
serenum as upper fileter where as the log of Vista for !devstack does
not show serenum as upper filter.

Will this cause any problem? and Why does not the devstack for vista
show serenum as upper filter? Im using the same INF file for both XP
and Vista.

Is there any problem in the INF file??

Please suggest

Regards,
Tim


Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Tue Jun 05 09:27:54 CDT 2007

After installing the driver, i dont see the callback
EvtDeviceFileCreate() being called in Vista. This callback is called
in XP at installation time. Is this the problem with device stack?

The callback is called only when there is CreateFile() from the
application.

Thank You.

Regards,
Tim




Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Wed Jun 06 09:23:36 CDT 2007

Doron/Eliyas,

Please answer my above queries and guide me if im going wrong. Its
already 5 days since i posted my last query.

Let me know if you need any other information.

Thank You.

Regards,
Tim



Re: WdfDeviceCreateDeviceInterface Again by Eliyas

Eliyas
Wed Jun 06 20:00:50 CDT 2007

EvtDeviceFileCreate is not called during install because the serenum might
not be part of the stack to send create. Can you check on that?

Are you using the same INF package to install on XP and Vista?

Now whether or not you want the serenum on top of the serial driver is up to
you. Serenum provides functionality to enumerate certain known devices that
connect to the port. If the device that you connect to the port is not going
to be enumerated as a new device then you don't need serenum. Read the DDK
documentation on serial driver.

-Eliyas

<tfedricks@gmail.com> wrote in message
news:1181053674.372991.223780@w5g2000hsg.googlegroups.com...
> After installing the driver, i dont see the callback
> EvtDeviceFileCreate() being called in Vista. This callback is called
> in XP at installation time. Is this the problem with device stack?
>
> The callback is called only when there is CreateFile() from the
> application.
>
> Thank You.
>
> Regards,
> Tim
>
>
>


Re: WdfDeviceCreateDeviceInterface Again by tfedricks

tfedricks
Thu Jun 07 00:20:33 CDT 2007

Eliyas,


> EvtDeviceFileCreate is not called during install because the serenum might
not be part of the stack to send create. Can you check on that?

I want serenum to be part of my stack, and included the same in INF
file, but the !devstack does not show serenum included in the stack.
But in case of XP, the !devstack clearly shows serenum in the
stack. I have posted the !devstack output for both XP and Vista in my
previous post. Please see above

> Are you using the same INF package to install on XP and Vista?

Im using the same INF file for both XP and Vista. I have posted the
INF file at the end of this thread.

> Now whether or not you want the serenum on top of the serial driver is up to
> you. Serenum provides functionality to enumerate certain known devices that
> connect to the port. If the device that you connect to the port is not going
> to be enumerated as a new device then you don't need serenum. Read the DDK
> documentation on serial driver.

I want serenum to be part of stack so that it can enumerate standard
serial mouse and keyboards devices when i