Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Erweiterung !usb3kd.ucx_device zeigt Informationen über ein USB-Gerät im USB 3.0 Tree an. Die Anzeige basiert auf Datenstrukturen, die vom USB-Hostcontroller-Erweiterungstreiber (UcxVersion.sys) verwaltet werden.
!usb3kd.ucx_device UcxUsbDevicePrivContext
Parameter
UcxUsbDevicePrivContext
Adresse der Struktur _UCXUSBDEVICE_PRIVCONTEXT, die das Gerät darstellt.
DLL
Usb3kd.dll
Hinweise
Der USB-Hostcontroller-Erweiterungstreiber (UcxVersion.sys) bietet eine Abstraktionsebene zwischen dem USB 3.0-Hub-Treiber und dem USB 3.0-Hostcontroller-Treiber. Der Erweiterungstreiber hat seine eigene Darstellung von Hostcontrollern, Geräten und Endpunkten. Die Ausgabe des Befehls !ucx_device basiert auf den Datenstrukturen, die vom Erweiterungstreiber gepflegt werden. Weitere Informationen über den USB-Hostcontroller-Erweiterungstreiber und den USB-3.0-Hostcontroller-Treiber finden Sie unter USB Driver Stack Architecture.
!ucx_device und !device_info zeigen beide Informationen über ein Gerät an, aber die angezeigten Informationen sind unterschiedlich. Die Ausgabe von !ucx_device ist aus der Sicht des USB-Hostcontroller-Erweiterungstreibers, und die Ausgabe von !device_info ist aus der Sicht des USB-3.0-Hub-Treibers. Die Ausgabe !ucx_device enthält beispielsweise Informationen über Endpunkte, und die Ausgabe !device_info enthält Informationen über Konfigurations- und Schnittstellendeskriptoren.
Beispiele
Um die Adresse des privaten UCX-USB-Gerätekontexts zu erhalten, sehen Sie sich die Ausgabe des Befehls !ucx_controller_list an. Im folgenden Beispiel lautet die Adresse des privaten Kontexts für das zweite Gerät 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
...
Jetzt können Sie die Adresse des privaten UCX-USB-Kontextes an den Befehl !ucx_device übergeben.
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