gpt4 book ai didi

c++ - 如何确定正在使用哪个USB端口?

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:07 25 4
gpt4 key购买 nike

我的硬件设备连接到 PC 并公开虚拟串行端口。串行端口号因我将设备插入哪个物理 USB 端口而异。我的应用程序有没有办法知道我的设备连接到哪个物理 USB 端口?这真的可以帮助我优化代码。目前,我的应用程序通过遍历所有可能的端口来确定每次连接设备时的实际端口号,这是一个漫长的过程。如果我知道它连接了哪个 USB 端口,我就已经知道它公开了哪个通信端口,并且我可以为每个特定的物理 USB 端口(配置文件)保存/加载这些设置。我正在使用 C++/MFC 和 Windows 7。我也希望它能在 XP 中工作。

最佳答案

USBView 示例源在 WDK 中可用。如果您对此不熟悉,只需运行它 - 该工具遍历系统上的整个 USB 树并打印出每个设备的信息和描述符列表,以及主机 Controller 和集线器上的位置。

从本示例中的 RefreshTree() 函数开始,您可以按照代码查看它如何枚举主机 Controller 、集线器和最终设备。

获取此示例源代码的最简单方法是安装当前可用的 7.1.0 WDK:http://www.microsoft.com/en-us/download/details.aspx?id=11800

关于c++ - 如何确定正在使用哪个USB端口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18192159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com