Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The !wdfkd.wdfdevice extension displays information that is associated with a WDFDEVICE-typed object handle.
!wdfkd.wdfdevice Handle [Flags]
Parameters
Handle
A handle to a WDFDEVICE-typed object.
Flags
Optional. The kind of information to display. Flags can be any combination of the following bits:
Bit 0 (0x1)
The display will include verbose information about the device, such as the associated WDFCHILDLIST-typed handles, synchronization scope, and execution level.
Bit 1 (0x2)
The display will include detailed power state information.
Bit 2 (0x4)
The display will include detailed power policy state information.
Bit 3 (0x8)
The display will include detailed Plug and Play (PnP) state information.
Bit 4 (0x10)
The display will include the device object's callback functions.
DLL
Wdfkd.dll
Frameworks
KMDF 1, UMDF 2
Additional Information
For more information, see Kernel-Mode Driver Framework Debugging.
Remarks
The following example uses the !wdfkd.wdfdevice extension on a WDFDEVICE handle that represents a physical device object (PDO), without specifying any flags.
kd> !wdfdevice 0x7cad31c8
# Dumping WDFDEVICE 0x7cad31c8
=================================
WDM PDEVICE_OBJECTs: self 81fb00e8
Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 31f ( WdfDevStatePowerDx )
Power Pol state: 508 ( WdfDevStatePwrPolWaitingUnarmed )
Parent WDFDEVICE 7ca7b1c0
Parent states:
Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 307 ( WdfDevStatePowerD0 )
Power Pol state: 565 ( WdfDevStatePwrPolStarted )
No pended pnp or power irps
Device is the power policy owner for the stack
The following example displays the same device object as the preceding example, but this time with a flag value of 0xF. This flag value, a combination of the bits 0x1, 0x2, 0x4, and 0x8, causes the display to include verbose device information, power state information, power policy state information, and PnP state information.
kd> !wdfdevice 0x7cad31c8 f
# Dumping WDFDEVICE 0x7cad31c8
=================================
WDM PDEVICE_OBJECTs: self 81fb00e8
Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 31f ( WdfDevStatePowerDx )
Power Pol state: 508 ( WdfDevStatePwrPolWaitingUnarmed )
Parent WDFDEVICE 7ca7b1c0
Parent states:
Pnp state: 119 ( WdfDevStatePnpStarted )
Power state: 307 ( WdfDevStatePowerD0 )
Power Pol state: 565 ( WdfDevStatePwrPolStarted )
No pended pnp or power irps
Device is the power policy owner for the stack
Pnp state history:
[0] WdfDevStatePnpObjectCreated (0x100)
[1] WdfDevStatePnpInit (0x105)
[2] WdfDevStatePnpInitStarting (0x106)
[3] WdfDevStatePnpHardwareAvailable (0x108)
[4] WdfDevStatePnpEnableInterfaces (0x109)
[5] WdfDevStatePnpStarted (0x119)
Power state history:
[0] WdfDevStatePowerD0StartingConnectInterrupt (0x310)
[1] WdfDevStatePowerD0StartingDmaEnable (0x311)
[2] WdfDevStatePowerD0StartingStartSelfManagedIo (0x312)
[3] WdfDevStatePowerDecideD0State (0x313)
[4] WdfDevStatePowerD0BusWakeOwner (0x309)
[5] WdfDevStatePowerGotoDx (0x31a)
[6] WdfDevStatePowerGotoDxIoStopped (0x31c)
[7] WdfDevStatePowerDx (0x31f)
Power policy state history:
[0] WdfDevStatePwrPolStarting (0x501)
[1] WdfDevStatePwrPolStartingSucceeded (0x502)
[2] WdfDevStatePwrPolStartingDecideS0Wake (0x504)
[3] WdfDevStatePwrPolStartedIdleCapable (0x505)
[4] WdfDevStatePwrPolTimerExpiredNoWake (0x506)
[5] WdfDevStatePwrPolTimerExpiredNoWakeCompletePowerDown (0x507)
[6] WdfDevStatePwrPolWaitingUnarmedQueryIdle (0x509)
[7] WdfDevStatePwrPolWaitingUnarmed (0x508)
WDFCHILDLIST Handles:
!WDFCHILDLIST 0x7ce710c8
SyncronizationScope is WdfSynchronizationScopeNone
ExecutionLevel is WdfExecutionLevelDispatch