!usb3kd.xhci_transferring
Die Erweiterung !usb3kd.xhci_transferring zeigt einen Übertragungsring an (der von einem USB 3.0-Hostcontroller verwendet wird), bis ein Zyklusbitwechsel erkannt wird.
!usb3kd.xhci_transferring VirtualAddress
!usb3kd.xhci_transferring PhysicalAddress 1
Parameter
VirtualAddress
Virtuelle Adresse des Übertragungsrings.
PhysicalAddress
Physikalische Adresse des Übertragungsrings.
1
Gibt an, dass die Adresse eine physische Adresse ist.
DLL
Usb3kd.dll
Hinweise
Die Ausgabe des Befehls !xhci_transferring basiert auf den Datenstrukturen, die vom USB-3.0-Hostcontroller-Treiber (UsbXhci.sys) verwaltet werden. Weitere Informationen über den USB 3.0-Hostcontroller-Treiber und andere Treiber im USB-Stack finden Sie unter USB Host-Side Drivers in Windows.
Der Transferring ist eine Struktur, die vom USB 3.0-Hostcontroller-Treiber verwendet wird, um eine Liste von Transfer-Request-Blöcken (TRBs) zu führen. Dieser Befehl nimmt die virtuelle oder physische Adresse eines Übertragungsrings, zeigt aber die physische Adresse der TRBs an. Dies geschieht, damit der Befehl die LINK TRBs korrekt durchlaufen kann.
Beispiele
Um die Adresse des Übertragungsrings zu erhalten, sehen Sie sich die Ausgabe des Befehls !xhci_deviceslots an. Im folgenden Beispiel lautet die virtuelle Adresse des Übertragungsrings 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
Jetzt können Sie die Adresse des Transferrings an den Befehl !xhci_transferring übergeben.
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