!usb3kd.xhci_eventring
!usb3kd.xhci_eventring拡張は、USB 3.0ホストコントローラに関連するコマンドリングデータ構造に関する情報を表示します。
!usb3kd.xhci_eventring DeviceExtension
パラメーター
DeviceExtension
ホストコントローラの機能デバイスオブジェクト(FDO)のデバイス拡張のアドレス。
DLL
Usb3kd.dll
解説
!xhci_eventring コマンドの出力は、USB 3.0ホストコントローラードライバーが保持するデータ構造に基づいています(UsbXhci.sys)。 USB 3.0ホストコントローラーのドライバーとUSBスタック内の他のドライバーの詳細については、Windows内のUSBホスト側ドライバーを参照してください。
イベントリングは、USB3.0ホストコントローラが、あるアクションが完了したことをドライバに通知するために使用する構造体です。
例
デバイス拡張のアドレスを取得するには、!xhci_dumpall コマンドの出力を確認します。 次の例では、デバイス拡張のアドレスは 0xfffffa800536e2d0 です。
3: kd> !xhci_dumpall
## Dumping all the XHCI controllers - DrvObj 0xfffffa80053072f0
------------------------------------------------------------
1) ... - PCI: VendorId ... DeviceId ... RevisionId ... Firmware ...
dt USBXHCI!_CONTROLLER_DATA 0xfffffa80052f20c0
!rcdrlogdump USBXHCI -a 0xfffffa8005068520
!rcdrlogdump USBXHCI -a 0xfffffa8004e8b9a0 (rundown)
!wdfdevice 0x57ffac91fd8
!xhci_capability 0xfffffa800536e2d0
!xhci_registers 0xfffffa800536e2d0
!xhci_commandring 0xfffffa800536e2d0 (No commands are pending)
!xhci_deviceslots 0xfffffa800536e2d0
!xhci_eventring 0xfffffa800536e2d0
...
次に、デバイス拡張のアドレスを !xhci_eventring コマンドに渡します。
3: kd> !xhci_eventring 0xfffffa800536e2d0
## Dumping dt _PRIMARY_INTERRUPTER_DATA fffffa800536b5b0
-----------------------------------------------------
## [0] Interrupter : dt _INTERRUPTER_DATA 0xfffffa800536b7d0 !rcdrlogdump USBXHCI -a 0xfffffa8005aeab60
------------------------------------------------------------------------------------------------------
DequeueSegment: 1 DequeueIndex: 217 TotalEventRingSegments: 2 TRBsPerSegment: 256
CurrentBufferData : VA 0xfffffa8005373000 LA 0x117173000 !wdfcommonbuffer 0x57ffa65b9b8 Size 4096
EventRingTableBufferData : VA 0xfffffa8005aeb000 LA 0x1168eb000 !wdfcommonbuffer 0x57ffa65d988 Size 512
[0] VA 0xfffffa8005370000 LA 0x117170000 !wdfcommonbuffer 0x57ffa6599b8 Size 4096
[1] VA 0xfffffa8005373000 LA 0x117173000 !wdfcommonbuffer 0x57ffa65b9b8 Size 4096
Event Ring TRBs:
[207] TRANSFER_EVENT 0xfffffa8005373cf0 CycleBit 0 SlotId 2 EndpointID 4 EventData 1 Pointer 0xfffffa8005366700 CC_SUCCESS
[208] TRANSFER_EVENT 0xfffffa8005373d00 CycleBit 0 SlotId 2 EndpointID 3 EventData 1 Pointer 0xfffffa8005a3d850 CC_SHORT_PACKET
[209] TRANSFER_EVENT 0xfffffa8005373d10 CycleBit 0 SlotId 1 EndpointID 4 EventData 1 Pointer 0xfffffa8005a3d850 CC_SUCCESS
[210] TRANSFER_EVENT 0xfffffa8005373d20 CycleBit 0 SlotId 1 EndpointID 3 EventData 1 Pointer 0xfffffa8005366700 CC_SUCCESS
[211] TRANSFER_EVENT 0xfffffa8005373d30 CycleBit 0 SlotId 2 EndpointID 4 EventData 1 Pointer 0xfffffa8005366700 CC_SUCCESS
[212] TRANSFER_EVENT 0xfffffa8005373d40 CycleBit 0 SlotId 2 EndpointID 3 EventData 1 Pointer 0xfffffa8005a3d850 CC_SHORT_PACKET
[213] TRANSFER_EVENT 0xfffffa8005373d50 CycleBit 0 SlotId 1 EndpointID 4 EventData 1 Pointer 0xfffffa8005a3d850 CC_SUCCESS
[214] TRANSFER_EVENT 0xfffffa8005373d60 CycleBit 0 SlotId 1 EndpointID 3 EventData 1 Pointer 0xfffffa8005366700 CC_SUCCESS
[215] TRANSFER_EVENT 0xfffffa8005373d70 CycleBit 0 SlotId 2 EndpointID 4 EventData 1 Pointer 0xfffffa8005366700 CC_SUCCESS
[216] TRANSFER_EVENT 0xfffffa8005373d80 CycleBit 0 SlotId 2 EndpointID 3 EventData 1 Pointer 0xfffffa8005a3d850 CC_SHORT_PACKET