有没有办法在 WinUSB 下更改设备配置?

Is there a way to change device configuration under WinUSB?

我有一个多功能 USB 设备。没有驱动程序(还)。我想编写一个仅与其接口之一对话的应用程序。看起来 WinUSB 非常适合这项工作,但有一个障碍:我需要更改设备配置才能访问界面。

有没有办法让 WinUSB(或系统的任何其他部分)在启动时设置设备配置?我不需要更改它,我只是希望它不是配置零。

我认为您不能使用 WinUSB 做到这一点。

您可以考虑使用 libusb, since it has a function named libusb_set_configuration 来满足您的需求。但是,我不知道该功能是否真的适用于 Windows。

WinUSB 不会让您设置设备配置。通常的方法是使用USBccgp,指定“OriginalConfigurationValue”注册表值,然后运行 WinUSB on top of USBccgp.

明确地说,您不能使用 Microsoft 提供的驱动程序即时更改配置。 WinUSB 不处理配置,USBccgp 只会设置硬编码配置。如果您需要在 运行 时 select 配置,则需要编写自己的驱动程序,并且它需要是内核驱动程序(而不是用户 space 驱动程序)。