!usb3kd.device_info_from_pdo
Команда !usb3kd.device_info_from_pdo отображает сведения о USB-устройстве в дереве USB 3.0.
!usb3kd.device_info_from_pdo DeviceObject
Параметры
DeviceObject
Адрес объекта физического устройства (PDO) USB-устройства или концентратора.
DLL-библиотеки
Usb3kd.dll
Замечания
!device_info_from_pdo и !ucx_device отображают сведения об устройстве, но отображаемые сведения отличаются. Выходные данные !device_info_from_pdo с точки зрения драйвера концентратора USB 3.0, а выходные данные !ucx_device с точки зрения драйвера расширения контроллера USB-узла. Например, выходные данные !device_info_from_pdo содержат сведения о дескрипторах конфигурации и интерфейсах, а выходные данные !ucx_device включают сведения о конечных точках.
Примеры
Адрес PDO можно получить из выходных данных !usb_tree или из различных других команд отладчика. Например, команда !devnode отображает адреса PDOS. В следующем примере узел устройства USBSTOR является прямым дочерним элементом узла USBHUB3. Адрес PDO для узла USBSTOR 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)
Теперь вы можете передать адрес PDO в команду !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
...
В следующем примере показаны некоторые выходные данные команды !usb_tree . Адрес PDO одного из дочерних узлов устройства отображается в качестве аргумента команды !devstack . (!devstack fffa80059c3800)
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