!usbkd.usbep
!usbkd.usbep 命令會顯示 USB 端點的相關信息。
!usbkd.usbep StructAddr
參數
結構Addr
usbport!_HCD_ENDPOINT 結構的位址。 若要取得 USB 主機控制器的端點清單,請使用 !usbkd.usbhcdext 命令。
DLL
Usbkd.dll
範例
以下是尋找 usbport!_HCD_ENDPOINT 結構的位址的一種方式。 首先輸入 !usbkd.usb2tree。
0: kd> !usbkd.usb2tree
...
2)!ehci_info ffffe00001ca11a0 !devobj ffffe00001ca1050 PCI: VendorId 8086 DeviceId 293c RevisionId 0002
...
在上述輸出中,FDO 的裝置延伸模組地址會顯示為 DML 命令的自變數 !ehci_info ffffe00001ca11a0。
按兩下 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