!usbkd.usbdevh
!usbkd.usbdevh 命令會顯示USB裝置句柄的相關信息。
!usbkd.usbdevh StructAddr
參數
結構Addr
usbport!_USBD_DEVICE_HANDLE 結構的位址。 若要取得 USB 主機控制器的裝置句柄清單,請使用 !usbkd.usbhcdext 命令。
DLL
Usbkd.dll
範例
以下是尋找 usbport!_USBD_DEVICE_HANDLE 結構的位址的一種方式。 首先輸入 !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
HC Flavor 1000 FDO ffffe00001ca1050
Root Hub: FDO ffffe00002320050 !hub2_info ffffe000023201a0
Operational Registers ffffd000228bf020
Device Data ffffe00001ca2da0
dt USBPORT!_FDO_EXTENSION ffffe00001ca15a0
DM Timer Flags ffffe00001ca16d4
FDO Flags ffffe00001ca16d0
HCD Log ffffe00001ca11a0
DeviceHandleList: !usblist ffffe00001ca23b8, DL
DeviceHandleDeletedList: !usblist ffffe00001ca23c8, DL [Empty]
...
現在,使用 !usbkd.usblist 命令來取得 usbport 的位址 !_USBD_DEVICE_HANDLE 結構。
0: kd> !usblist ffffe00001ca23b8, DL
list: ffffe00001ca23b8 DL
----------
!usbdevh ffffe000020f9590
SSP [IdleReady] (0)
...
在上述輸出中,ffffe000020f9590
是_USBD_DEVICE_HANDLE結構的位址。 將此位址傳遞至 !usbdevh。
0: kd> !usbkd.usbdevh ffffe000020f9590
dt USBPORT!_USBD_DEVICE_HANDLE ffffe000020f9590
SSP [IdleReady] (0)
PCI\VEN_8086&DEV_293C Intel Corporation
Root Hub
DriverName :
## DEVICE HANDLE HISTORY (latest at bottom)
## EVENT STATE NEXT
[01] Ev_CreateRoothub_Success Devh_Created Devh_Valid
## Referene List: Head(ffffe000020f9668)
[00] dt USBPORT!_DEVH_REF_OBJ ffffe000021944a0 Object: ffffe000020f9590 Tag: dvh+ PendingFlag(0)
[01] dt USBPORT!_DEVH_REF_OBJ ffffe000020bbcb0 Object: ffffe000020ba7e0 Tag: bsCT PendingFlag(0)
[02] dt USBPORT!_DEVH_REF_OBJ ffffe000032b91a0 Object: ffffe0000269e670 Tag: UrbT PendingFlag(1)
## TtList: Head(ffffe000020f9658)
## PipeHandleList: Head(ffffe000020f9640)
[00] dt USBPORT!_USBD_PIPE_HANDLE_I ffffe000020f95e0 !usbep ffffe000020f6970
Device Address: 0x00, Endpoint Address 0x00 Endpoint Type: Control
[01] dt USBPORT!_USBD_PIPE_HANDLE_I ffffe000023bd278 !usbep ffffe0000212d970
Device Address: 0x00, Endpoint Address 0x81 Endpoint Type: Interrupt In
Config Information: dt USBPORT!_USBD_CONFIG_HANDLE ffffe000023cd0b0
## Interface List:
[00] dt USBPORT!_USBD_INTERFACE_HANDLE_I ffffe000023bd250