!wdfkd.wdfdevice
!wdfkd.wdfdevice 拡張モジュールは WDFDEVICE タイプのオブジェクトハンドルに関連する情報を表示します。
!wdfkd.wdfdevice Handle [Flags]
パラメーター
Handle
WDFDEVICEに型指定されたオブジェクトへのハンドル。
Flags
省略可能。 表示する情報の種類。 フラグは、次のビットを任意に組み合わせて使用できます。
ビット0 (0x1)
関連するWDFCHILDLIST型ハンドル、同期スコープ、実行レベルなど、デバイスに関する冗長な情報が表示されます。
ビット 1 (0x2)
電源状態の詳細情報が表示されます。
ビット 2 (0x4)
電源ポリシーの状態に関する詳細情報が表示されます。
ビット 3 (0x8)
プラグ・アンド・プレイ(PnP)状態の詳細情報が表示されます。
ビット 4 (0x10)
デバイスオブジェクトのコールバック関数が表示されます。
DLL
Wdfkd.dll
フレームワーク
KMDF 1, UMDF 2
追加情報
詳細については、カーネルモード・ドライバー・フレームワークのデバッグを参照してください。
解説
次の例では、物理デバイスオブジェクト (PDO) を表す WDFDEVICE ハンドルに対して、フラグを指定せずに!wdfkd.wdfdevice拡張を使用しています。
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