Mircosoft 似乎现在提供适用于 Windows 11 的 USB4 驱动程序:
为了使我的应用程序UsbTreeView显示这些,我需要知道“USB4(TM)主机路由器(微软)”的设备接口GUID,相当于USB1..3主机控制器的GUID_DEVINTERFACE_USB_HOST_CONTROLLER。 我已经检查了最新的 Windows 驱动程序套件,但还没有 USB4...
据我所知,它没有在 Windows 中的任何地方显示,所以这里是我的命令行工具“ListDevices”,它的作用是: https://www.uwe-sieber.de/files/ListDevices.zip
因此,如果您有可用的 USB4 控制器,请解压缩包含的文件夹并启动 ListDevices2txt.cmd,该命令会执行控制台工具 ListDevices.exe 并将其输出重定向到文本文件,并在默认文本编辑器应用程序中打开它。 在此文本文件中搜索“主机路由器”以查找正确的设备。接口 GUID 是设备路径的一部分,显示在每个设备的第一行中。
谢谢, 乌韦·西伯
我已经获得了所请求的数据,作为对我主页上同一请求的响应。所以问题的答案是: “USB4(TM) Host Router (Microsoft)”没有分配设备接口,因此没有这样的GUID,因此无法通过带有DIGCF_DEVICEINTERFACE的SetupDiEnumDeviceInterfaces来枚举它。
如果您感兴趣,请查看 ListDevice.exe 对于 USB4 主机路由器及其根路由器的输出:
===============================================================
Device ID = PCI\VEN_1022&DEV_162F&SUBSYS_162F1022&REV_00&USB4_MS_CM\4&3B47FC12&0&0643
DevInst = 128
DevInst Parent = 339 (PCI\VEN_1022&DEV_14B9&SUBSYS_22F117AA&REV_10\3&2411E6FE&1&43)
DevInst Child = 13, 258
Status = 0x180000A (DN_DRIVER_LOADED, DN_STARTED, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem = 0 (-)
SPDRP_COMPATIBLEIDS = PCI\VEN_1022&DEV_162F&REV_00 PCI\VEN_1022&DEV_162F PCI\VEN_1022&CC_0C0340 PCI\VEN_1022&CC_0C03 PCI\VEN_1022 PCI\CC_0C0340&DT_0 PCI\CC_0C0340 PCI\CC_0C03&DT_0 PCI\CC_0C03
SPDRP_HARDWAREID = PCI\USB4_MS_CM PCI\VEN_1022&DEV_162F&SUBSYS_162F1022&REV_00 PCI\VEN_1022&DEV_162F&SUBSYS_162F1022 PCI\VEN_1022&DEV_162F&CC_0C0340 PCI\VEN_1022&DEV_162F&CC_0C03
SPDRP_DEVICEDESC = USB4(TM) Host Router (Microsoft)
SPDRP_SERVICE = Usb4HostRouter
SPDRP_ENUMERATOR_NAME = PCI
SPDRP_BUSTYPEGUID = {C8EBDFB0-B510-11D0-80E5-00A0C92542E3} (GUID_BUS_TYPE_PCI)
SPDRP_LEGACYBUSTYPE = PCIBus
SPDRP_BUSNUMBER = 100
SPDRP_LOCATION_INFORMATION = PCI bus 100, device 0, function 6
SPDRP_LOCATION_PATHS = PCIROOT(0)#PCI(0803)#PCI(0006) ACPI(_SB_)#ACPI(PCI0)#ACPI(GP19)#ACPI(NHI1)
SPDRP_PHYSICAL_DEVICE_OBJECT_NAME = \Device\NTPNP_PCI0035
SPDRP_CAPABILITIES = 0x00 (-)
SPDRP_CLASS = USB
SPDRP_CLASSGUID = {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
SPDRP_DRIVER = {36fc9e60-c465-11cf-8056-444553540000}\0006
SPDRP_MFG = Generic USB4 Host Router
SPDRP_CONFIGFLAGS = 0x00 (-)
SPDRP_ADDRESS = 0x06 (6)
SPDRP_REMOVAL_POLICY = 1 (CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL)
SPDRP_REMOVAL_POLICY_HW_DEFAULT = 1 (CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL)
SPDRP_INSTALL_STATE = 0 (CM_INSTALL_STATE_INSTALLED)
SPDRP_DEVICE_POWER_DATA = MostRecentPowerState=D3
===============================================================
Device Path 0 = \\?\USB4#ROOT_DEVICE_ROUTER&VID_1022&PID_162F#5&a169261&0&0#{d830231d-81ce-409b-84fe-ece5c24a479f}
Device Path 1 = \\?\USB4#ROOT_DEVICE_ROUTER&VID_1022&PID_162F#5&a169261&0&0#{3b6d80c9-039c-44ca-ba0e-33ba62a5cfb8}
Device ID = USB4\ROOT_DEVICE_ROUTER&VID_1022&PID_162F\5&A169261&0&0
DevInst = 258
DevInst Parent = 128 (PCI\VEN_1022&DEV_162F&SUBSYS_162F1022&REV_00&USB4_MS_CM\4&3B47FC12&0&0643)
Status = 0x180000A (DN_DRIVER_LOADED, DN_STARTED, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem = 0 (-)
SPDRP_COMPATIBLEIDS = USB4\ROOT_DEVICE_ROUTER USB4\DEVICE_ROUTER
SPDRP_HARDWAREID = USB4\ROOT_DEVICE_ROUTER&VID_1022&PID_162F&REV_0000 USB4\ROOT_DEVICE_ROUTER&VID_1022&PID_162F
SPDRP_DEVICEDESC = USB4 Root Router
SPDRP_SERVICE = Usb4DeviceRouter
SPDRP_ENUMERATOR_NAME = USB4
SPDRP_PHYSICAL_DEVICE_OBJECT_NAME = \Device\00000094
SPDRP_CAPABILITIES = 0x00 (-)
SPDRP_CLASS = USB
SPDRP_CLASSGUID = {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
SPDRP_DRIVER = {36fc9e60-c465-11cf-8056-444553540000}\0019
SPDRP_MFG = Generic USB4 Device Router
SPDRP_CONFIGFLAGS = 0x00 (-)
SPDRP_REMOVAL_POLICY = 1 (CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL)
SPDRP_REMOVAL_POLICY_HW_DEFAULT = 1 (CM_REMOVAL_POLICY_EXPECT_NO_REMOVAL)
SPDRP_INSTALL_STATE = 0 (CM_INSTALL_STATE_INSTALLED)
SPDRP_DEVICE_POWER_DATA = MostRecentPowerState=D3