Compartir a través de


!wdfkd.wdfdevice

La extensión !wdfkd.wdfdevice muestra información asociada a un identificador de objeto de tipo WDFDEVICE.

!wdfkd.wdfdevice Handle [Flags]

Parámetros

Asa
Un identificador a un objeto de tipo WDFDEVICE.

Banderas
Opcional. El tipo de información que se va a mostrar. Marcas puede ser cualquier combinación de los siguientes bits:

Bit 0 (0x1)
La visualización incluirá información detallada sobre el dispositivo, como los identificadores asociados de tipo WDFCHILDLIST, el ámbito de sincronización y el nivel de ejecución.

Bit 1 (0x2)
La visualización incluirá información detallada sobre el estado de potencia.

Bit 2 (0x4)
La visualización incluirá información detallada sobre el estado de política de potencia.

Bit 3 (0x8)
La visualización incluirá información detallada sobre el estado de Plug and Play (PnP).

Bit 4 (0x10)
La visualización incluirá las funciones de llamada del objeto de dispositivo.

Archivo DLL

Wdfkd.dll

Marcos de trabajo

KMDF 1, UMDF 2

Información adicional

Para obtener más información, consulte Depuración del marco de trabajo de controlador en modo kernel.

Comentarios

El siguiente ejemplo utiliza la extensión !wdfkd.wdfdevice en un identificador WDFDEVICE que representa un objeto de dispositivo físico (PDO), sin especificar ninguna marca.

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

El siguiente ejemplo muestra el mismo objeto de dispositivo que el ejemplo anterior, pero esta vez con un valor de marca de 0xF. Este valor de marca, una combinación de los bits 0x1, 0x2, 0x4 y 0x8, hace que la visualización incluya información detallada sobre el dispositivo, información sobre el estado de potencia, información sobre el estado de política de potencia e información sobre el estado de PnP.

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