!usb3kd.ucx_device
L’extension !usb3kd.ucx_device affiche des informations sur un appareil USB dans l’arborescence USB 3.0. L’affichage est basé sur les structures de données gérées par le pilote d’extension du contrôleur hôte USB (UcxVersion.sys).
!usb3kd.ucx_device UcxUsbDevicePrivContext
Paramètres
UcxUsbDevicePrivContext
Adresse de la structure _UCXUSBDEVICE_PRIVCONTEXT qui représente l’appareil.
DLL
Usb3kd.dll
Notes
Le pilote d’extension du contrôleur hôte USB (UcxVersion.sys) fournit une couche d’abstraction entre le pilote du hub USB 3.0 et celui du contrôleur hôte USB 3.0. Le pilote d’extension a sa propre représentation des contrôleurs hôtes, des appareils et des points de terminaison. La sortie de la commande !ucx_device est basée sur les structures de données gérées par le pilote d’extension. Pour en savoir plus sur le pilote d’extension du contrôleur hôte USB et le pilote du contrôleur hôte USB 3.0, consultez Architecture de la pile de pilotes USB.
!ucx_device et !device_info affichent tous deux des informations concernant un appareil, mais les informations affichées sont différentes. La sortie de !ucx_device affiche des informations du point de vue du pilote d’extension du contrôleur hôte USB, et la sortie de !device_info affiche des informations du point de vue du pilote du hub USB 3.0. Par exemple, la sortie !ucx_device donne des informations sur les points de terminaison, et la sortie !device_info donne des informations sur les descripteurs de configuration et d’interface.
Exemples
Pour obtenir l’adresse du contexte privé de l'appareil USB UCX, examinez la sortie de la commande !ucx_controller_list. Dans l’exemple suivant, l’adresse du contexte privé pour le deuxième appareil est 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
...
Ensuite, transmettez l’adresse du contexte privé USB UCX à la commande !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