我想帮你USB装置使用libusb,但是我感觉喜欢我跳上第一站的比赛。我知道正是终点,我需要和你谈谈等等, 但我甚至不能得到那么远。我已经在的本质:

usb_device *dev = ...; // opened from get_busses()
usb_set_configuration(dev, dev->config[0].bConfigurationValue); // bConfigVal = 1

现在,我可以看看信息的设备,在调试模式,我知道,目前的配置是0(uninitialized/后重新启动),并没有完全1的有效配置,其中有一个配数为1。但是,当我设置的配置为1,我得到的回报价值的-22,(通过stringifier)翻译为"windows api错误:坏参数。

我还没有能够找到其他人具有一个类似的问题,并且它似乎是这样一个简单的事情要做-我不能即使要求该接口,或设置alt-接口,或者类似的东西,因为我们设置的配置。我是什么丢失?(如果它事项:这是在WinXP)

有帮助吗?

解决方案

看libusb-win32\src\驱动\set_configuration.c,似乎有一堆不同的原因返回 STATUS_INVALID_PARAMETER.

使用 libusb_set_debug (从你的用户模式应用程序)设定详细的调试水平,然后运行 微软DebugView 看到司机的错误消息。希望你会看到一个线索为什么你的 set_configuration 呼叫失败。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top