Как определить текущую активную конфигурацию USB с помощью libusb 0.1 - PullRequest
2 голосов
/ 30 января 2011

Как узнать, какая конфигурация USB устройства USB является текущей активной?Я использую libusb 0.1 (не более новую 1.0, потому что мне нужен libusb-win32), и есть только функция usb_set_configuration (), но нет usb_get_configuration ().Может быть, значение конфигурации активной конфигурации можно прочитать из некоторого дескриптора?

1 Ответ

0 голосов
/ 02 марта 2011

Вы правы, libusb-win32, как ни странно, не экспортирует такой метод. Однако для этого есть запрос USB, и вы можете легко сделать это самостоятельно - просто выделите строку 106 в libusb-win32 / src / windows.c .

По сути, это то, что вы хотите сделать:

#define LIBUSB_DEFAULT_TIMEOUT 5000

char config;
int ret = usb_control_msg(dev, USB_RECIP_DEVICE | USB_ENDPOINT_IN,
                      USB_REQ_GET_CONFIGURATION, 0, 0, &config, 1,
                      LIBUSB_DEFAULT_TIMEOUT); 
...