如何确定USB端口的速度?

SwD*_*n81 4 c# usb performance

有没有一种简便的方法以编程方式确定USB端口的速度(或版本)?我希望根据其最大带宽来控制发送到USB端口的数据的速度。

Rob*_*ert 5

如果您需要Windows解决方案,那么这将是一个不错的开始:

http://msdn.microsoft.com/en-us/library/ms793313.aspx

基本上,您应该尝试以下操作:

  1. 枚举USB设备及其驱动程序的符号名称
  2. 通过CreateFile通过其符号名称打开USB设备驱动程序的句柄
  3. 使用控制代码在驱动程序句柄上执行DeviceIoControl IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX。这将使您返回结构USB_NODE_CONNECTION_INFORMATION_EX。那里有一个Speed类型叫的成员USB_DEVICE_SPEED
  4. (关闭驱动器手柄)

这可能对您也很有趣:CodeProject:枚举已安装设备的属性