使用Windows的通用USB设备驱动程序

什么types的USB设备驱动程序可以使用,而无需支付微软authentication?

我想制作通过USB连接的硬件和软件。 本文将介绍如何使用HID设备configuration文件。

我的问题: 还有什么其他types的configuration文件可以使用? 我的设备和驱动程序的用途有多接近?

具体来说:我想达到最高的带宽 – 我正在做一个高速数据logging器。 我可以例如使用某种networking摄像头驱动程序来获取高带宽stream数据? (或者,数据是否必须以某种图像格式?)

谢谢

什么类型的USB设备驱动程序可以使用,而无需支付微软认证?

为了说清楚,技术上不需要向Microsoft支付任何有USB设备驱动程序在机器上工作(他们需要通过CA或自签名证书进行数字签名)。

我的问题:还有什么其他类型的配置文件可以使用? 我的设备和驱动程序的用途有多接近?

此MSDN页面列出了Windows自带的驱动程序的USB设备类:

  • 音频类
  • 蓝牙类
  • 通信设备类
  • 内容安全类
  • 成像类
  • 集线器设备类
  • 人机接口设备(HID)类
  • 大容量存储类
  • 媒体传输协议设备
  • 打印机类
  • 智能卡类
  • 视频类

如果你想利用内置的驱动程序,你想尝试把你的应用程序“匹配”到上面的类中的一个。 但是,通信和HID设备类都允许任意数据的全双工传输,所以如果您只是想要来回发送字节,则其中任何一个都是合适的。

具体来说:我想达到最高的带宽 – 我正在做一个高速数据记录器。 我可以例如使用某种网络摄像头驱动程序来获取高带宽流数据? (或者数据必须以某种图像格式存在

你需要多高速度? 如果小于64,000字节/秒(对于大量的数据记录应用来说实际上已经非常快),那么通过全速USB的HID类就可以工作。 否则,您可以尝试使用通信设备类。 (虽然我只有HID设备类的直接经验)。

请注意,数据传输的速度并不是您需要考虑的唯一因素。 USB是一个总线,所以总的总线带宽被连接到它的所有设备共享。 为了帮助管理,USB定义了不同类型的传输:中断,同步和批量传输。

HID类使用中断传输,而Communications类通常使用批量传输。 中断传输比批量传输的延迟要短得多,所以这可能是一个重要的考虑因素。