Freigeben über


!usb3kd.ucx_device

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

Weitere Informationen

USB 3.0-Erweiterungen

!usb3kd.ucx_controller_list

Universal Serial Bus (USB)-Treiber