!usbkd.usbhcdpnp
!usbkd.usbhcdpnp 命令显示 USB 主机控制器或根集线器的即插即用 (PnP) 状态历史记录。
!usbkd.usbhcdpnp DeviceExtension
参数
DeviceExtension
以下地址之一:
- USB 主机控制器功能设备对象 (FDO) 的设备扩展。
- 物理设备对象 (PDO) 的设备扩展名,即 USB 根集线器。
DLL
Usbkd.dll
示例
下面是查找 USB 主机控制器 FDO 设备扩展地址的一种方法。 首先输入 !usbkd.usb2tree。
0: kd> !usbkd.usb2tree
UHCI MINIPORT(s) dt usbport!_USBPORT_MINIPORT_DRIVER ffffe0000090c3d0
...
4)!uhci_info ffffe00001c8f1a0 !devobj ffffe00001c8f050 PCI: VendorId 8086 DeviceId 2938 RevisionId 0002
...
在前面的输出中,FDO 的设备扩展名地址显示为 DML 命令 !uhci_info ffffe00001c8f1a0。
现在,将设备扩展的地址传递给 !usbhcdpnp 命令。
0: kd> !usbkd.usbhcdpnp ffffe00001c8f1a0
## PNP STATE LOG (latest at bottom)
## EVENT STATE NEXT
[01] EvFDO_IRP_MN_START_DEVICE PnpNotStarted PnpStarted
[02] EvFDO_IRP_MN_QBR_RH PnpStarted PnpStarted
下面是查找根集线器 PDO 设备扩展地址的一种方法。 首先输入 !usbkd.usb2tree。
4)!uhci_info ffffe00001c8f1a0 !devobj ffffe00001c8f050 PCI: VendorId 8086 DeviceId 2938 RevisionId 0002
RootHub !hub2_info ffffe00000d941a0 !devstack ffffe00000d94050
在前面的输出中,可以看到根集线器 FDO 的地址显示为命令 !devstack ffffe00000d94050 的参数。 使用 !devstack 命令查找 PDO 地址和 PDO 设备扩展名。
0: kd> !kdexts.devstack ffffe00000d94050
!DevObj !DrvObj !DevExt ObjectName
> ffffe00000d94050 \Driver\usbhub ffffe00000d941a0 0000006b
ffffe00000ed4050 \Driver\usbuhci ffffe00000ed41a0 USBPDO-2
在前面的输出中,可以看到根集线器 PDO 的设备扩展名地址是 ffffe00000ed41a0
。
现在,将设备扩展的地址传递给 !usbhcdpnp 命令。
0: kd> !usbkd.usbhcdpnp ffffe00000ed41a0
## PNP STATE LOG (latest at bottom)
## EVENT STATE NEXT
[01] EvPDO_IRP_MN_START_DEVICE PnpNotStarted PnpStarted