Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The !usbkd.usbdpc command displays information stored in an _XDPC_CONTEXT structure.
!usbkd.usbdpc StructAddr
Parameters
StructAddr
Address of a usbport!_XDPC_CONTEXT structure. To get the XDPC 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!_XDPC_CONTEXT structure. First enter !usbkd.usb2tree.
0: kd> !usbkd.usb2tree
...
UHCI MINIPORT(s) dt usbport!_USBPORT_MINIPORT_DRIVER ffffe00001e77010
...
4)!uhci_info ffffe00001c7d1a0 !devobj ffffe00001c7d050 PCI: VendorId...
...
In the preceding output, the address of the device extension of the FDO is displayed as the argument of the DML command !uhci_info ffffe00001c7d1a0.
Either click the DML command or pass the address of the device extension to !usbhcdext to get the XDPC list.
0: kd> !usbkd.usbhcdext ffffe00001c7d1a0
...
## XDPC List
01) dt USBPORT!_XDPC_CONTEXT ffffe00001c7df18
02) dt USBPORT!_XDPC_CONTEXT ffffe00001c7db88
03) dt USBPORT!_XDPC_CONTEXT ffffe00001c7dd50
04) dt USBPORT!_XDPC_CONTEXT ffffe00001c7e0e0
...
In the preceding output, ffffe00001c7df18
is the address of an _XDPC_CONTEXT structure. Pass this address to !usbdpc.
0: kd> !usbkd.usbdpc ffffe00001c7df18
dt USBPORT!_XDPC_CONTEXT ffffe00001c7df18
## XDPC HISTORY (latest at bottom)
## EVENT STATE NEXT
[01] Ev_Xdpc_End XDPC_Running XDPC_Enabled
[02] Ev_Xdpc_Signal XDPC_Enabled XDPC_DpcQueued
[03] Ev_Xdpc_Signal XDPC_DpcQueued XDPC_DpcQueued
[04] Ev_Xdpc_Worker XDPC_DpcQueued XDPC_Running
[05] Ev_Xdpc_Signal XDPC_Running XDPC_Signaled
[06] Ev_Xdpc_End XDPC_Signaled XDPC_DpcQueued
[07] Ev_Xdpc_Worker XDPC_DpcQueued XDPC_Running
[08] Ev_Xdpc_End XDPC_Running XDPC_Enabled