我的情况是我的产品枚举到Windows,我可以看到它及其所有子组件。
我的问题是有一个:
USB Connector - HUB - Port 1 - USB Component
Port 2 - USB Component
Port 3 - USB Component
Port 4 - USB Component
在枚举时,USB组件看起来都一样。它们具有在制造时编程到其中的序列号,但未在部件上标记。我可以通过序列号打开设备。打开它之后我需要做的是找出设备所在的集线器端口,这样我才能确定我打开了正确的部件。如果我错了,我可以打开下一个,直到我得到正确的端口。如何判断打开处理程序所在的端口?我可以试试IOCTL或SetupDi,但我不知道该怎么看,或者在数据回来时该怎么处理。
基本上我在集线器上有一个打开的管道/句柄,我想找出句柄指向的集线器端口。
有什么想法吗?