!usb3kd.xhci_transferring
La extensión !usb3kd.xhci_transferring permite ver un anillo de transferencia (usado por un controlador host USB 3.0) hasta que detecta un cambio de bit de ciclo.
!usb3kd.xhci_transferring VirtualAddress
!usb3kd.xhci_transferring PhysicalAddress 1
Parámetros
VirtualAddress
Dirección virtual del anillo de transferencia.
PhysicalAddress
Dirección física del anillo de transferencia.
1
Especifica que la dirección es una dirección física.
Archivo DLL
Usb3kd.dll
Comentarios
El resultado del comando !xhci_transferring se basa en las estructuras de datos mantenidas por el controlador del controlador host USB 3.0 (UsbXhci.sys). Para obtener más información sobre el controlador del controlador host USB 3.0 y otros controladores de la pila USB, consulte Controladores host USB en Windows.
El anillo de transferencia es una estructura utilizada por el controlador del controlador host USB 3.0 para mantener una lista de bloques de solicitud de transferencia (TRB). Este comando toma la dirección virtual o física de un anillo de transferencia, pero muestra la dirección física de los TRB. Esto se hace para que el comando pueda atravesar correctamente los TRB LINK.
Ejemplos
Para obtener la dirección del anillo de transferencia, examine el resultado del comando !xhci_deviceslots. En el ejemplo siguiente, la dirección virtual del anillo de transferencia es 0xfffffa8005b2fe00.
3: kd> !usb3kd.xhci_deviceslots 0xfffffa800523a2d0
## Dumping dt _DEVICESLOT_DATA 0xfffffa80051a3300
----------------------------------------------
DeviceContextBase: VA 0xfffffa8005a41000 LA 0x116841000 !wdfcommonbuffer 0x57ffa6ff9b8 Size 4096
## [1] SlotID : dt USBXHCI!_USBDEVICE_DATA 0xfffffa800598c7d0 dt _SLOT_CONTEXT32 0xfffffa8005a42000
------------------------------------------------------------------------------------------------
USB\VID_125F&PID_312A ADATA Technology Co., Ltd.
SlotEnabled IsDevice NumberOfTTs 0 TTThinkTime 0
Speed: Super PortPathDepth: 1 PortPath: [ 2 ] DeviceAddress: 1
!device_info_from_pdo 0xfffffa800597d720
DeviceContextBuffer: VA 0xfffffa8005a42000 LA 0x116842000 !wdfcommonbuffer 0x57ffa7009b8 Size 4096
InputDeviceContextBuffer: VA 0xfffffa8005b2d000 LA 0x11692d000 !wdfcommonbuffer 0x57ffa674958 Size 4096
...
[3] DeviceContextIndex : dt USBXHCI!_ENDPOINT_DATA 0xfffffa8005b394e0 dt _ENDPOINT_CONTEXT32 0xfffffa8005a42060 ES_RUNNING
--------------------------------------------------------------------------------------------------------------
...
CurrentRingBufferData: VA 0xfffffa8005b2fe00 LA 0x11692fe00 !wdfcommonbuffer 0x57ffa67c988 Size 512
Current: !xhci_transferring 0xfffffa8005b2fe00
PendingTransferList:
[0] dt _TRANSFER_DATA 0xfffffa8005b961b0 !urb 0xfffffa8005b52be8 !wdfrequest 0x57ffa469fd8 TransferState_Pending
Ahora puede pasar la dirección del anillo de transferencia al comando !xhci_transferring.
kd> !xhci_transferring 0xfffffa8005b2fe00
[ 0] NORMAL 0x000000011692fe00 CycleBit 1 IOC 0 BEI 0 InterrupterTarget 0 TransferLength 13 TDSize 0
[ 1] EVENT_DATA 0x000000011692fe10 CycleBit 1 IOC 1 BEI 0 InterrupterTarget 0 Data 0 0xfffffa8005986850 TotalBytes 13
[ 2] NORMAL 0x000000011692fe20 CycleBit 1 IOC 0 BEI 0 InterrupterTarget 0 TransferLength 13 TDSize 0
[ 3] EVENT_DATA 0x000000011692fe30 CycleBit 1 IOC 1 BEI 0 InterrupterTarget 0 Data 0 0xfffffa8005b96210 TotalBytes 13
[ 4] NORMAL 0x000000011692fe40 CycleBit 1 IOC 0 BEI 0 InterrupterTarget 0 TransferLength 13 TDSize 0
[ 5] EVENT_DATA 0x000000011692fe50 CycleBit 1 IOC 1 BEI 0 InterrupterTarget 0 Data 0 0xfffffa8005b96210 TotalBytes 13