如何通过插入的USB设备找到USB主机控制器

时间:2011-03-23 13:12:01

标签: c winapi usb

我需要通过插入的USB设备找到USB主机控制器。我需要它为该控制器设置一个特定的注册表项,这是修复KB928631所必需的。 我能够使用CM_Get_Parent()函数获取设备句柄并获取父设备句柄。

不幸的是,没有关于HUB数量的信息,所以我不知道应该调用多少次CM_Get_Parent()才能到达主机控制器。

是否有可用于区分HUB的控制器特定数据?

目前我正在获取CM_DRP_LOCATION_INFORMATION属性并确定属性返回的字符串是否由“PCI bus”启动。如果是这样假设当前设备是主机控制器。 这是一个可靠的解决方案吗?

1 个答案:

答案 0 :(得分:0)

my answer here,我提到“Enumerator”属性比“Location”更好。