Поделиться через


!wdfkd.wdfdevice

Расширение !wdfkd.wdfdevice отображает сведения, связанные с дескриптором типа WDFDEVICE.

!wdfkd.wdfdevice Handle [Flags]

Параметры

Ручка
Дескриптор типа WDFDEVICE.

Флаги
Необязательно. Тип отображаемой информации. Флаги могут быть любым сочетанием следующих битов:

Bit 0 (0x1)
Отображение будет содержать подробные сведения об устройстве, такие как связанные дескрипторы WDFCHILDLIST, область синхронизации и уровень выполнения.

Бит 1 (0x2)
Отображение будет содержать подробные сведения о состоянии питания.

Бит 2 (0x4)
Отображение будет содержать подробные сведения о состоянии политики питания.

Бит 3 (0x8)
Отображение будет содержать подробные сведения о состоянии самонастраивающийся (PnP).

Бит 4 (0x10)
Отображение будет включать функции обратного вызова объекта устройства.

DLL-библиотеки

Wdfkd.dll

Платформы

KMDF 1, UMDF 2

Дополнительная информация

Дополнительные сведения см. в разделе "Отладка driver Framework в режиме ядра".

Замечания

В следующем примере используется расширение !wdfkd.wdfdevice в дескрипторе WDFDEVICE, представляющего объект физического устройства (PDO), без указания флагов.

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

В следующем примере отображается тот же объект устройства, что и предыдущий пример, но на этот раз со значением флага 0xF. Это значение флага, сочетание битов 0x1, 0x2, 0x4 и 0x8, приводит к тому, что отображение включает подробные сведения об устройстве, сведения о состоянии питания, сведения о состоянии политики питания и сведения о состоянии 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