Condividi tramite


!usb3kd.ucx_device

L'estensione !usb3kd.ucx_device visualizza informazioni su un dispositivo USB nell'albero USB 3.0. Lo schermo si basa sulle strutture di dati gestite dal driver di estensione del controller host USB (UcxVersion.sys).

!usb3kd.ucx_device UcxUsbDevicePrivContext

Parametri

UcxUsbDevicePrivContext
Indirizzo della struttura _UCXUSBDEVICE_PRIVCONTEXT che rappresenta il dispositivo.

DLL

Usb3kd.dll

Osservazioni:

Il driver di estensione del controller host USB (UcxVersion.sys) fornisce un livello di astrazione tra il driver hub USB 3.0 e il driver del controller host USB 3.0. Il driver di estensione ha una propria rappresentazione di controller host, dispositivi ed endpoint. L'output del comando !ucx_device si basa sulle strutture di dati gestite dal driver di estensione. Per altre informazioni sul driver di estensione del controller host USB e sul driver del controller host USB 3.0, vedere Architettura dello stack di driver USB.

!ucx_device e !device_info visualizzare entrambe le informazioni su un dispositivo, ma le informazioni visualizzate sono diverse. L'output di !ucx_device è dal punto di vista del driver di estensione del controller host USB e l'output di !device_info è dal punto di vista del driver hub USB 3.0. Ad esempio, l'output !ucx_device include informazioni sugli endpoint e l'output !device_info include informazioni sui descrittori di configurazione e interfaccia.

Esempi

Per ottenere l'indirizzo del contesto privato del dispositivo USB UCX, esaminare l'output del comando !ucx_controller_list. Nell'esempio seguente l'indirizzo del contesto privato per il secondo dispositivo è 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
        ...

È ora possibile passare l'indirizzo del contesto privato 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

Vedi anche

Estensioni USB 3.0

!usb3kd.ucx_controller_list

Driver USB (Universal Serial Bus)