!usb3kd.device_info_from_pdo
El comando !usb3kd.device_info_from_pdo permite ver la información de un dispositivo USB en el árbol de USB 3.0.
!usb3kd.device_info_from_pdo DeviceObject
Parámetros
DeviceObject
Dirección del objeto de dispositivo físico (PDO) de un dispositivo o concentrador USB.
Archivo DLL
Usb3kd.dll
Comentarios
Tanto !device_info_from_pdo como !ucx_device permiten ver la información de un dispositivo, pero la información mostrada es diferente. El resultado de !device_info_from_pdo se toma desde el punto de vista del controlador del concentrador USB 3.0 y el resultado de !ucx_device se toma desde el punto de vista del controlador de extensión del controlador de controlador host USB. Por ejemplo, el resultado de salida !device_info_from_pdo incluye información sobre los descriptores de configuración y de interfaz y el resultado de !ucx_device incluye información sobre los puntos de conexión.
Ejemplos
Puede obtener la dirección del PDO en el resultado de !usb_tree o por medio de diferentes comandos del depurador. Por ejemplo, el comando !devnode permite ver las direcciones de los PDO. En el ejemplo siguiente, el nodo de dispositivo USBSTOR es el elemento secundario directo del nodo USBHUB3. La dirección del PDO del nodo USBSTOR es 0xfffffa80059c3800.
3: kd> !devnode 0 1 usbhub3
Dumping IopRootDeviceNode (= 0xfffffa8003609cc0)
DevNode 0xfffffa8005981730 for PDO 0xfffffa8004ffc550
InstancePath is "USB\ROOT_HUB30\5&11db9684&0&0"
ServiceName is "USBHUB3"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0xfffffa8005a546a0 for PDO 0xfffffa80059c3800
InstancePath is "USB\VID_125F&PID_312A\09021000000000000342192873"
ServiceName is "USBSTOR"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
DevNode 0xfffffa8005a09730 for PDO 0xfffffa8005b3a650
InstancePath is "USBSTOR\Disk&Ven ...
ServiceName is "disk"
State = DeviceNodeStarted (0x308)
Previous State = DeviceNodeEnumerateCompletion (0x30d)
Tras esto, puede pasar la dirección del PDO al comando !usb3kd.device_info_from_pdo.
3: kd> !device_info_from_pdo 0xfffffa80059c3800
## Dumping Device Information fffffa80059c3800
-------------------------------------------
!devobj 0xfffffa8004ffc550 (Root HUB)
!device_info 0xfffffa8005abd0c0 (dt usbhub3!_DEVICE_CONTEXT 0xfffffa8005abd0c0)
dt USBHUB3!_DEVICE_CONTEXT 0xfffffa8005abd0c0
dt USBHUB3!_HUB_PDO_CONTEXT 0xfffffa8005b118d0
!idle_info 0xfffffa8005b11920 (dt USBHUB3!_ISM_CONTEXT 0xfffffa8005b11920)
Parent !hub_info 0xfffffa8005ad92d0 (dt USBHUB3!_HUB_FDO_CONTEXT 0xfffffa8005ad92d0)
!port_info 0xfffffa8005abe0c0 (dt USBHUB3!_PORT_CONTEXT 0xfffffa8005abe0c0)
!ucx_device 0xfffffa8005992840 !xhci_deviceslots 0xfffffa80051d1940 1
LPMState: U1IsEnabledForUpStreamPort U2IsEnabledForUpStreamPort U1Timeout: 38, U2Timeout: 3
DeviceFlags: HasContainerId NoBOSContainerId Removable HasSerialNumber MsOsDescriptorNotSupported NoWakeUpSupport DeviceIsSuperSpeedCapable
DeviceHackFlags: WillDisableOnSoftRemove SkipSetIsochDelay WillResetOnResumeS0 DisableOnSoftRemove
Descriptors:
dt _USB_CONFIGURATION_DESCRIPTOR 0xfffffa80053f9250
dt _USB_INTERFACE_DESCRIPTOR 0xfffffa80053f9259
ProductId: ...
DeviceDescriptor: VID ...
UcxRequest: !wdfrequest 0x57ffa662948,
ControlRequest: !wdfrequest 0x57ffa667798, !irp 0xfffffa8005997650 !urb 0xfffffa8005abd1c0, NumberOfBytes 0
Device working at SuperSpeed
Current Device State: ConfiguredInD0
Device State History: <Event> NewState (<Operation>(),..) :
[16] <Yes> ConfiguredInD0
...
Device Event History:
[10] TransferSuccess
...
En el ejemplo siguiente se muestran algunos de los resultados del comando !usb_tree. Puede ver la dirección del PDO de uno de los nodos del dispositivo secundario como el argumento del comando !devstack. (!devstack fffffa80059c3800)
3: kd> !usb_tree
## Dumping HUB Tree - !drvObj 0xfffffa800597f770
--------------------------------------------
Topology
--------
1) !xhci_info 0xfffffa80051d1940 ... - PCI: VendorId ...
!hub_info 0xfffffa8005ad92d0 (ROOT)
!port_info 0xfffffa8005a5ca80 !device_info 0xfffffa8005b410c0 Desc: <none> Speed: High
...
## Enumerated Device List
----------------------
...
2) !device_info 0xfffffa8005abd0c0, !devstack fffffa80059c3800
Current Device State: ConfiguredInD0
Desc: ... Flash Drive
USB\VID_...
!ucx_device 0xfffffa8005992840 !xhci_deviceslots 0xfffffa80051d1940 1