!usb3kd.ucx_device
La extensión !usb3kd.ucx_device permite ver la información sobre un dispositivo USB en el árbol de USB 3.0. La información mostrada se basa en estructuras de datos mantenidas por el controlador de extensión del controlador host USB (UcxVersion.sys).
!usb3kd.ucx_device UcxUsbDevicePrivContext
Parámetros
UcxUsbDevicePrivContext
Dirección de la estructura _UCXUSBDEVICE_PRIVCONTEXT que representa el dispositivo.
Archivo DLL
Usb3kd.dll
Comentarios
El controlador de extensión del controlador host USB (UcxVersion.sys) incorpora una capa de abstracción entre el controlador del concentrador USB 3.0 y el controlador del controlador host USB 3.0. El controlador de extensión tiene su propia representación de controladores host, dispositivos y puntos de conexión. El resultado del comando !ucx_device se basa en las estructuras de datos mantenidas por el controlador de extensión. Para obtener más información sobre el controlador de extensión del controlador host USB y el controlador del controlador host USB 3.0, consulte Arquitectura de pilas de controladores USB.
Tanto !ucx_device como !device_info permiten ver la información de un dispositivo, pero la información mostrada es diferente. El resultado de !ucx_device se toma desde el punto de vista del controlador de la extensión del concentrador host USB y el resultado de !device_info se toma desde el punto de vista del controlador del concentrador USB 3.0. Por ejemplo, el resultado de !ucx_device incluye información sobre los puntos de conexión y el resultado de !device_info incluye información sobre los descriptores de la configuración y la interfaz.
Ejemplos
Para obtener la dirección del contexto privado del dispositivo USB UCX, busque en el resultado del comando !ucx_controller_list. En el ejemplo siguiente, la dirección del contexto privado del segundo dispositivo es 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
...
Ahora puede pasar la dirección del contexto privado del USB UCX al comando !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