This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我最近了解 了 Windows 兼容 ID USB 设备(又名 WinUSB 设备)的优点、即它们不需要安装自定义驱动程序包的方式。
但是,必须采取某些步骤来实现这种特性。 第一个是器件描述符中的 bcdUSB 字段必须设置为0x200 (使其成为 USB 2.0器件)、而不是普通的0x110 (USB 1.1器件)。 其次、器件必须能够通过一组非常具体的描述符数据来响应读取地址0xEE 处特殊字符串描述符的请求。 成功回答字符串描述符读取请求后、Windows 主机将尝试读取其他特定于操作系统的描述符以完成该过程。
但是、USB 库不允许用户更改 USB 版本、也不允许向 g_sBulkHandlers 变量添加请求处理程序函数来处理操作系统特定描述符的请求。 我发现只有通过修改 USB 库代码的部分(或者在器件应用项目中用一个定制版本替换特定的库源文件)、此类更改才有可能。
但是、即使在应用程序中进行替换、也不要更改库代码、并且最好不必使用 USB 器件 AP、这会太耗时(即使所有 usbdbstall.c 都封装了 USB 器件 API)。 那么、是否有"更干净"的器件来实现我的 WCID USB 器件目标?
此致、
李孝华
您好 Howard、
实现此目的的唯一方法是更新 USB 库代码。 您可以在 usbdbulk.c 中更新 g_pui8BulkDeviceDescriptor (Device descriptor)或定义不同的器件描述符来实现 WCID。
此致
Siddharth