!usbkd.usbep
!usbkd.usbepコマンドは、USBエンドポイントに関する情報を表示します。
!usbkd.usbep StructAddr
パラメーター
StructAddr
usbport!_HCD_ENDPOINT構造体のアドレス。 USBホストコントローラーのエンドポイントの一覧を取得するには、!usbkd.usbhcdextを使用します。
加工
Usbkd.dll
例
この例はusbport!_HCD_ENDPOINT構造体のアドレスを取得する1つの方法を示しています。 最初に!usbkd.usb2tree入力します。
0: kd> !usbkd.usb2tree
...
2)!ehci_info ffffe00001ca11a0 !devobj ffffe00001ca1050 PCI: VendorId 8086 DeviceId 293c RevisionId 0002
...
先の出力では、DMLコマンド!ehci_info ffffe00001ca11a0の引数として、FDOのデバイス拡張のアドレスが表示されている。
DMLコマンドをクリックするか、デバイス拡張のアドレスを!usbhcdextに渡してグローバルエンドポイントリストを取得します。
0: kd> !usbkd.usbhcdext ffffe00001ca11a0
...
DeviceHandleList: !usblist ffffe00001ca23b8, DL
DeviceHandleDeletedList: !usblist ffffe00001ca23c8, DL [Empty]
GlobalEndpointList: !usblist ffffe00001ca2388, EP
...
次に !usbkd.usblistコマンドを使用して、_HCD_ENDPOINT構造体のアドレスを取得します。
0: kd> !usblist ffffe00001ca2388, EP
list: ffffe00001ca2388 EP
----------
dt usbport!_HCD_ENDPOINT ffffe000020f6970 !usbep ffffe000020f6970
Device Address: 0x00, ep 0x00 Control Flags: 00000002 dt _USB_ENDPOINT_FLAGS ffffe000020f6990
dt usbport!_ENDPOINT_PARAMETERS ffffe000020f6b18 RootHub Endpoint
...
上記の出力においてffffe000020f6970
は_HCD_ENDPOINT構造体のアドレスです。 このアドレスを!usbkd.usbepに渡します。
0: kd> !usbep ffffe000020f6970
Device Address: 0x00, Endpoint Address 0x00 Endpoint Type: Control
dt USBPORT!_HCD_ENDPOINT ffffe000020f6970
dt USBPORT!_ENDPOINT_PARAMETERS ffffe000020f6b18
RootHub Endpoint
## Transfer(s) List: (HwPendingListHead)
[EMPTY]
## Endpoint Reference List: (EpRefListHead)
[00] dt USBPORT!_USBOBJ_REF ffffe000021a64a0 Object ffffe000020f6970 Tag:EPop Endpoint:ffffe000020f6970
[01] dt USBPORT!_USBOBJ_REF ffffe000021264a0 Object ffffe000020f95e0 Tag:EPpi Endpoint:ffffe000020f6970
## GEP HISTORY (latest at bottom)
## EVENT STATE NEXT HwEpState
[01] Ev_gEp_Open GEp_Init GEp_Paused ENDPOINT_PAUSE
[02] Ev_gEp_ReqActive GEp_Paused GEp_Active ENDPOINT_ACTIVE