我正在尝试使用 libusb 与 USB 设备通信,但我觉得我在比赛的第一站被绊倒了。我确切地知道我需要与之交谈的端点等,但我什至无法做到这一点。本质上,我有:
usb_device *dev = ...; // opened from get_busses()
usb_set_configuration(dev, dev->config[0].bConfigurationValue); // bConfigVal = 1
现在,我可以在调试模式下查看设备信息,我知道当前配置为 0(未初始化/重启后),并且正好有 1 个有效配置,其配置编号为 1。但是当我设置配置时到 1,我得到一个返回值 -22,它(通过 stringifier 传递)转换为“windows api 错误:错误参数。
我找不到其他人有类似的问题,这似乎是一件很简单的事情——我什至无法声明接口,或设置 alt-interface 或类似的东西,因为我必须先设置配置。我错过了什么?(如果重要:这是在 WinXP 上)