【问题标题】:Find List Of USB ports available on my Windows PC查找我的 Windows PC 上可用的 USB 端口列表
【发布时间】:2013-02-04 06:17:15
【问题描述】:

我进行了很多搜索,但无法找到查询的答案。 我想知道 PC 中有多少个 USB 端口可用,即对于串行端口,我们有“COM1”和“COM2”。我的 PC (windows7) 包含 8 个 USB 端口,我需要查找端口列表以及它们是否已使用。

我尝试使用 WMI 查询但没有结果,因为它只提供了已连接设备和 USB 集线器的详细信息。

使用 Win DDK,它将显示每个 HUB 可用的所有端口,但有趣的是,这与我从外部看到的不同。 Win DDK 将给出每个集线器可寻址的端口数量,而不是从外部可见的端口的确切数量。任何 C 或 C++ 代码都会有很大帮助。

理想的结果应该是这样的:

USB 1  USED
USB 2  Not USed 
USB 3  USED 
USB 4  Not Used 
.....

【问题讨论】:

标签: c++ windows visual-c++ usb winusb


【解决方案1】:

您无法确定这一点。原因很简单,您想区分计算机内部的集线器和外部的集线器。您 PC 上的这 8 个 USB 端口中至少有一些可能连接到焊接在主板上的集线器。

此外,将 USB 用作内部专用连接的情况并不少见。例如。许多 SD 卡读卡器连接到内部 USB 集线器。对于软件来说,这看起来像一个 USB 端口,但它当然在您的 PC 外部不可见。

【讨论】:

  • 我不确定这是否完全正确。我认为集线器和设备具有让系统知道它们是不可移除的标志。这些标志可用于确定集线器或设备是板载的还是外部的。
  • @ajs410:我怀疑灰色区域太多。笔记本电脑扩展坞?从技术上讲,USB 集线器可以在任何东西上设置可移动位;唯一的保证是,如果未设置可移动位,您将永远不会看到设备被删除。尽管如此,还是值得一试:该标志位于错误类描述符中的偏移量 7 处,并且它是每个端口的位掩码。根集线器通常是不可拆卸的,但这对于 USB3 PC Express 卡也是错误的。 (它们的父总线是 PCI-e)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-03
相关资源
最近更新 更多