Share via


!wdfkd.wdfdevice

A extensão !wdfkd.wdfdevice exibe informações associadas a um identificador de objeto do tipo WDFDEVICE.

!wdfkd.wdfdevice Handle [Flags]

Parâmetros

Handle
Um identificador para um objeto do tipo WDFDEVICE.

Sinalizadores
Opcional. O tipo de informações a serem exibidas. Flags pode ser qualquer combinação dos bits a seguir:

Bit 0 (0x1)
A exibição incluirá informações detalhadas sobre o dispositivo, como os identificadores do tipo WDFCHILDLIST associados, o escopo da sincronização e o nível de execução.

Bit 1 (0x2)
A exibição incluirá informações detalhadas sobre o estado de energia.

Bit 2 (0x4)
A exibição incluirá informações detalhadas sobre o estado da política de energia.

Bit 3 (0x8)
A exibição incluirá informações detalhadas do estado de Plug and Play (PnP).

Bit 4 (0x10)
A exibição incluirá as funções de retorno de chamada do objeto de dispositivo.

DLL

Wdfkd.dll

Estruturas

KMDF 1, UMDF 2

Informações Adicionais

Para obter mais informações, consulte Depuração KMDF.

Comentários

O exemplo a seguir usa a extensão !wdfkd.wdfdevice em um identificador WDFDEVICE que representa um objeto de dispositivo físico (PDO), sem especificar sinalizadores.

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

O exemplo a seguir mostra o mesmo objeto de dispositivo do exemplo anterior, mas desta vez com um valor de sinalizador de 0xF. Esse valor de sinalizador, uma combinação dos bits 0x1, 0x2, 0x4 e 0x8, faz com que a exibição inclua informações detalhadas do dispositivo, além de informações do estado de energia, do estado da política de energia e do 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