!usbkd.usbhcdext
!usbkd.usbhcdext 命令显示 USB 主机控制器或 USB 根集线器的设备扩展的信息。
!usbkd.usbhcdext DeviceExtension
参数
DeviceExtension
以下地址之一:
- USB 主机控制器功能设备对象 (FDO) 的设备扩展。
- 物理设备对象 (PDO) 的设备扩展名,即 USB 根集线器。
DLL
Usbkd.dll
示例
下面是查找 EHCI 主机控制器 FDO 设备扩展地址的一种方法。 首先输入 !usbkd.usb2tree。
0: kd> !usbkd.usb2tree
EHCI MINIPORT(s) dt usbport!_USBPORT_MINIPORT_DRIVER ffffe00001f48bd0
1)!ehci_info ffffe00001ca11a0 !devobj ffffe00001ca1050 PCI: VendorId 8086 DeviceId 293c RevisionId 0002
...
在前面的输出中,FDO 的设备扩展名地址显示为 DML 命令 !ehci_info ffffe00001ca11a0。
现在,将设备扩展的地址传递给 !usbhcdext 命令。
0: kd> !usbkd.usbhcdext ffffe00001ca11a0
HC Flavor 1000 FDO ffffe00001ca1050
Root Hub: FDO ffffe00002320050 !hub2_info ffffe000023201a0
Operational Registers ffffd000228bf020
Device Data ffffe00001ca2da0
dt USBPORT!_FDO_EXTENSION ffffe00001ca15a0
DM Timer Flags ffffe00001ca16d4
FDO Flags ffffe00001ca16d0
HCD Log ffffe00001ca11a0
DeviceHandleList: !usblist ffffe00001ca23b8, DL
DeviceHandleDeletedList: !usblist ffffe00001ca23c8, DL [Empty]
GlobalEndpointList: !usblist ffffe00001ca2388, EP
EpNeoStateChangeList: !usblist ffffe00001ca2370, SC [Empty]
GlobalTtListHead: !usblist ffffe00001ca23a8, TT [Empty]
BusContextHead: !usblist ffffe00001ca16b0, BC
## Pending Requests
[001] dt USBPORT!_USB_IOREQUEST_CONTEXT ffffe00001ca1450 Tag: AddD Obj: ffffe00001ca11a0
...
## XDPC List
01) dt USBPORT!_XDPC_CONTEXT ffffe00001ca1f18
...
下面是查找根集线器 PDO 设备扩展地址的一种方法。 首先输入 !usbkd.usb2tree。
0: kd> !usbkd.usb2tree
EHCI MINIPORT(s) dt usbport!_USBPORT_MINIPORT_DRIVER ffffe00001f48bd0
1)!ehci_info ffffe00001ca11a0 !devobj ffffe00001ca1050 PCI: VendorId 8086 DeviceId 293c RevisionId 0002
RootHub !hub2_info ffffe000023201a0 !devstack ffffe00002320050
...
在前面的输出中,可以看到根集线器 FDO 的地址显示为命令 !devstack ffffe00002320050 的参数。 使用 !devstack 命令查找 PDO 地址和 PDO 设备扩展名。
0: kd> !kdexts.devstack ffffe00002320050
!DevObj !DrvObj !DevExt ObjectName
> ffffe00002320050 \Driver\usbhub ffffe000023201a0 0000002d
ffffe0000213c050 \Driver\usbehci ffffe0000213c1a0 USBPDO-3
...
在前面的输出中,可以看到根集线器 PDO 的设备扩展名地址是 ffffe0000213c1a0
。
现在,将设备扩展的地址传递给 !usbhcdext 命令。
0: kd> !usbkd.usbhcdext ffffe0000213c1a0
Root Hub PDO Extension
Parent HC: FDO ffffe00001ca1050 !ehci_info ffffe00001ca11a0
HUB FDO ffffe00002320050 !hub2_info ffffe000023201a0
dt USBPORT!_PDO_EXTENSION ffffe0000213c5a0
## Pending Requests
[001] dt USBPORT!_USB_IOREQUEST_CONTEXT ffffe0000213c450 Tag: RHcr Obj: ffffe0000213c1a0
[002] dt USBPORT!_USB_IOREQUEST_CONTEXT ffffe00003ce5800 Tag: iIRP Obj: ffffe00002182210
## POWER FUNC HISTORY (latest at bottom)
[00] IRP_MN_WAIT_WAKE (PowerSystemHibernate)
...
## PnP STATE LOG (latest at bottom)
## EVENT STATE NEXT
[01] EvPDO_IRP_MN_START_DEVICE PnpNotStarted PnpStarted