c# - 如何确定 USB 端口的速度?

标签 c# usb performance

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

最佳答案

如果您需要适用于 Windows 的解决方案,这应该是一个好的开始:

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

基本上你应该试试这个:

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

这对您来说也很有趣:CodeProject: Enumerate Properties of an Installed Device

关于c# - 如何确定 USB 端口的速度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1324587/

相关文章:

c# - GetChildAtPoint 方法返回错误的控件

matlab - matlab中数组行的组合和乘法

c# - .NET (C#) 中 64 位应用程序的性能优势

debugging - USB调试

python pygame.camera.init() 没有视频捕获

python - 如何优化以下for循环代码?

c# - TextFieldParser 未设置 EndOfData 字段

c# - 统计程序启动的次数

c# - 附加到 MemoryStream

c++ - 根据USB VID :PID in Linux获取设备路径