!devobj

!devobj 扩展显示 DEVICE_OBJECT 结构的相关详细信息。

!devobj DeviceObject 

参数

DeviceObject
指定设备对象。 这可以是此结构的十六进制地址或设备的名称。

DLL

Kdexts.dll

其他信息

有关此扩展命令的示例和应用,请参阅即插即用调试。 有关设备对象的信息,请参阅 Windows 驱动程序工具包 (WDK) 文档以及 Mark Russinovich 和 David Solomon 编写的 Microsoft Windows 内部资料

注解

如果 DeviceObject 指定设备的名称,但没有提供前缀,则假定前缀为“\Device\”。 请注意,此命令将在使用表达式计算器之前检查 DeviceObject 是否为有效的地址或设备名称。

显示的信息包括对象的设备名称、设备当前 IRP 的相关信息以及设备队列中任何挂起的 IRP 的地址列表。 它还包括分层在此对象之上(列为“AttachedDevice”)和分层在此对象之下(列为“AttachedTo”)的设备对象的信息。

可以使用 !drvobj !devnode 扩展获取设备对象的地址。

其中一个示例如下:

kd> !devnode
Dumping IopRootDeviceNode (= 0x80e203b8)
DevNode 0x80e203b8 for PDO 0x80e204f8
 Parent 0000000000   Sibling 0000000000   Child 0x80e56dc8
  InstancePath is "HTREE\ROOT\0"
  State = DeviceNodeStarted (0x308)
  Previous State = DeviceNodeEnumerateCompletion (0x30d)
  StateHistory[04] = DeviceNodeEnumerateCompletion (0x30d)
  StateHistory[03] = DeviceNodeStarted (0x308)
  StateHistory[02] = DeviceNodeEnumerateCompletion (0x30d)
  StateHistory[01] = DeviceNodeStarted (0x308)
  StateHistory[00] = DeviceNodeUninitialized (0x301)
  StateHistory[19] = Unknown State (0x0)
  .....
  StateHistory[05] = Unknown State (0x0)
  Flags (0x00000131)  DNF_MADEUP, DNF_ENUMERATED, 
                      DNF_IDS_QUERIED, DNF_NO_RESOURCE_REQUIRED
  DisableableDepends = 11 (from children)

kd> !devobj 80e204f8
Device object (80e204f8) is for:
  \Driver\PnpManager DriverObject 80e20610
Current Irp 00000000 RefCount 0 Type 00000004 Flags 00001000
DevExt 80e205b0 DevObjExt 80e205b8 DevNode 80e203b8 
ExtensionFlags (0000000000)  
Device queue is not busy.