!usbkd.usbtx

!usbkd.usbtxコマンドは、usbport!_HCD_TRANSFER_CONTEXT構造体の情報を表示します。

!usbkd.usbtx StructAddr

パラメーター

StructAddr
usbport!_HCD_TRANSFER_CONTEXT構造体のアドレス。 USBホストコントローラーの転送リストを取得するには、!usbkd.usbhcdextコマンドを使用します。

加工

Usbkd.dll

usbport!_HCD_TRANSFER_CONTEXT構造体のアドレスを見つける1つの方法を紹介しよう。 最初に!usbkd.usb2tree入力します。

0: kd> !usbkd.usb2tree
...
4)!uhci_info ffffe00001c8f1a0 !devobj ffffe00001c8f050 PCI: VendorId 8086 DeviceId 2938 RevisionId 0002 
...

先の出力では、FDO のデバイス拡張のアドレスが DML コマンド !uhci_info ffffe00001c8f1a0 の引数として表示されています。

DMLコマンドをクリックするか、デバイス拡張のアドレスを!usbhcdextに渡してグローバル転送リストを取得します。

0: kd> !usbkd.usbhcdext ffffe00001c8f1a0
...
## I/O TRANSFER LIST(s)

1.) Transfer Request Priority List: (TxQueued) Type: 0-NotSplit, 1-Parent, 2-Child
    --------------------------------------------------------------------------------
    [000]!usbtx ffffe0000653401c !usbep ffffe00004730c60 !irp ffffe00004221220 State: (7)TX_Mapped_inMp
        Priority: 0, Type: 0, Flags= 0000000a, SequenceNum: 10, SplitIdx: 0
        InLen: 4096, OutLen: 0 Status: USBD_STATUS_PENDING (0x40000000)
    ...

上記の出力においてffffe0000653401c_HCD_TRANSFER_CONTEXT構造体のアドレスです。 このアドレスを!usbtxに渡します。

0: kd> !usbkd.usbtx ffffe0000653401c

dt usbport!_HCD_TRANSFER_CONTEXT ffffe0000653401c
dt usbport!_TRANSFER_PARAMETERS ffffe0000653417c

## TX HISTORY

## EVENT, STATE, NEXT (latest at bottom)

[01]    (23)Ev_TX_Icsq, (0)TX_Undefined, (1)TX_InQueue
[02]    (5)Ev_TX_MapTransfer, (1)TX_InQueue, (2)TX_MapPending
[03]    (7)Ev_TX_MpSubmitSuccess, (2)TX_MapPending, (7)TX_Mapped_inMp

**DMA**
dt usbport!_TRANSFER_SG_LIST ffffe0000653439c
SgCount:  1  MdlVirtualAddress: ffffe00000437000  MdlSystemAddress: ffffe00000437000
    [0] dt usbport!_TRANSFER_SG_ENTRY ffffe000065343bc
    : sysaddr: 0000000000000000 len 0x00001000(4096) offset 0x00000000(0) phys 00000000'ded90000
---
dt usbport!_SCATTER_GATHER_ENTRY ffffe000065343ec
dt _SCATTER_GATHER_LIST ffffe00001bc231c
NumberOfElements = 1
    [0] dt _SCATTER_GATHER_ELEMENT ffffe00001bc232c
     :phys 00000000'ded90000 len 0x00001000(4096)

関連項目

USB 2.0 デバッガ拡張機能

ユニバーサル シリアル バス (USB) ドライバー