!usb3kd.ucx_device
!usb3kd.ucx_device 扩展显示 USB 3.0 树中 USB 设备的相关信息。 显示基于 USB 主机控制器扩展驱动程序(Ucx版本.sys)维护的数据结构。
!usb3kd.ucx_device UcxUsbDevicePrivContext
参数
UcxUsbDevicePrivContext
表示设备的 _UCXUSBDEVICE_PRIVCONTEXT 结构的地址。
DLL
Usb3kd.dll
注解
USB 主机控制器扩展驱动程序(Ucx版本.sys)在 USB 3.0 集线器驱动程序与 USB 3.0 主机控制器驱动程序之间提供了一个抽象层。 扩展驱动程序有自己的主机控制器、设备和终结点的表示法。 !ucx_device 命令的输出基于扩展驱动程序维护的数据结构。 有关 USB 主机控制器扩展驱动程序和 USB 3.0 主机控制器驱动程序的更多信息,请参阅 USB 驱动程序堆栈体系结构。
!ucx_device 和 !device_info 都显示有关设备的信息,但显示的信息不同。 !ucx_device 的输出是从 USB 主机控制器扩展驱动程序的视角,而 !device_info 的输出是从 USB 3.0 集线器驱动程序的视角。 例如,!ucx_device 输出包括关于终结点的信息,而 !device_info 输出包括关于配置和接口描述符的信息。
示例
要获取 UCX USB 设备专用上下文地址,请查看 !ucx_controller_list 命令的输出。 在以下示例中,第二个设备的专用上下文的地址为 0xfffffa8005bd9680。
3: 3: kd> !ucx_controller_list
## Dumping List of UCX controller objects
--------------------------------------
[1] !ucx_controller 0xfffffa80052da050 (dt ucx01000!_UCXCONTROLLER_PRIVCONTEXT fffffa80052da050)
!ucx_device 0xfffffa8005a41840
.!ucx_endpoint 0xfffffa800533f3d0 [Blk In ], UcxEndpointStateEnabled
...
!ucx_device 0xfffffa8005bd9680
.!ucx_endpoint 0xfffffa8003694860 [Blk Out], UcxEndpointStateEnabled
...
现在可以将 UCX USB 专用上下文的地址传递给 !ucx_device 命令。
3: kd> !ucx_device 0xfffffa8005bd9680
## Dumping Ucx USB Device Information fffffa8005bd9680
---------------------------------------------------
dt ucx01000!_UCXUSBDEVICE_PRIVCONTEXT 0xfffffa8005bd9680
!ucx_controller 0xfffffa80052da050
ParentHub: !wdfhandle 0x57ffacbce78
DefaultEndpoint: !ucx_endpoint 0xfffffa8005be0550
ListOfEndpionts:
.!ucx_endpoint 0xfffffa8003694860 [Blk Out], UcxEndpointStateEnabled
.!ucx_endpoint 0xfffffa8003686820 [Blk In ], UcxEndpointStateEnabled
.!ucx_endpoint 0xfffffa8005be0550 [Control], UcxEndpointStateEnabled
.!ucx_endpoint 0xfffffa8003695580 [Blk In ], UcxEndpointStateStale
.!ucx_endpoint 0xfffffa80036a20c0 [Blk Out], UcxEndpointStateStale
EventCallbacks:
EvtUsbDeviceEndpointsConfigure: (0xfffff880044d1164) USBXHCI!UsbDevice_UcxEvtEndpointsConfigure
EvtUsbDeviceEnable: (0xfffff880044cffac) USBXHCI!UsbDevice_UcxEvtEnable
EvtUsbDeviceDisable: (0xfffff880044d1cbc) USBXHCI!UsbDevice_UcxEvtDisable
EvtUsbDeviceReset: (0xfffff880044d2178) USBXHCI!UsbDevice_UcxEvtReset
EvtUsbDeviceAddress: (0xfffff880044d0934) USBXHCI!UsbDevice_UcxEvtAddress
EvtUsbDeviceUpdate: (0xfffff880044d0c80) USBXHCI!UsbDevice_UcxEvtUpdate
EvtUsbDeviceDefaultEndpointAdd: (0xfffff880044ede1c) USBXHCI!Endpoint_UcxEvtUsbDeviceDefaultEndpointAdd
EvtUsbDeviceEndpointAdd: (0xfffff880044edfc8) USBXHCI!Endpoint_UcxEvtUsbDeviceEndpointAdd