!usb3kd.xhci_transferring
L'estensione !usb3kd.xhci_transferring visualizza un anello di trasferimento (usato da un controller host USB 3.0) fino a quando non rileva una modifica del bit del ciclo.
!usb3kd.xhci_transferring VirtualAddress
!usb3kd.xhci_transferring PhysicalAddress 1
Parametri
VirtualAddress
Indirizzo virtuale dell'anello di trasferimento.
PhysicalAddress
Indirizzo fisico dell'anello di trasferimento.
1
Specifica che l'indirizzo è un indirizzo fisico.
DLL
Usb3kd.dll
Osservazioni:
L'output del comando !xhci_transferring si basa sulle strutture di dati gestite dal driver del controller host USB 3.0 (UsbXhci.sys). Per altre informazioni sul driver del controller host USB 3.0 e altri driver nello stack USB, vedi Driver lato host USB in Windows.
L'anello di trasferimento è una struttura usata dal driver del controller host USB 3.0 per mantenere un elenco di blocchi di richiesta di trasferimento (TRB). Questo comando accetta l'indirizzo virtuale o fisico di un anello di trasferimento, ma visualizza l'indirizzo fisico dei TRB. Questa operazione viene eseguita in modo che il comando possa attraversare correttamente i TRB LINK.
Esempi
Per ottenere l'indirizzo dell'anello di trasferimento, esaminare l'output del comando !xhci_deviceslots . Nell'esempio seguente l'indirizzo virtuale dell'anello di trasferimento è 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
È ora possibile passare l'indirizzo dell'anello di trasferimento 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