!usbkd.usbdevh
The !usbkd.usbdevh command displays information about a USB device handle.
!usbkd.usbdevh StructAddr
Parameters
StructAddr
Address of a usbport!_USBD_DEVICE_HANDLE structure. To get the device handle list for a USB host controller, use the !usbkd.usbhcdext command.
DLL
Usbkd.dll
Examples
Here is one way to find the address of a usbport!_USBD_DEVICE_HANDLE structure. First enter !usbkd.usb2tree.
0: kd> !usbkd.usb2tree
...
2)!ehci_info ffffe00001ca11a0 !devobj ffffe00001ca1050 PCI: VendorId 8086 DeviceId 293c RevisionId 0002
...
In the preceding output, the address of the device extension of the FDO is displayed as the argument of the DML command !ehci_info ffffe00001ca11a0.
Either click the DML command or pass the address of the device extension to !usbhcdext to get the device handle list.
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]
...
Now use the !usbkd.usblist command to get the addresses of usbport!_USBD_DEVICE_HANDLE structures.
0: kd> !usblist ffffe00001ca23b8, DL
list: ffffe00001ca23b8 DL
----------
!usbdevh ffffe000020f9590
SSP [IdleReady] (0)
...
In the preceding output, ffffe000020f9590
is the address of a _USBD_DEVICE_HANDLE structure. Pass this address to !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