如何使用libusb 0.1确定当前活动的USB配置

时间:2011-01-30 11:34:22

标签: c usb libusb

如何找出USB设备的哪个USB配置是当前活动的?我使用libusb 0.1(不是更新的1.0,因为我需要libusb-win32)并且只有一个usb_set_configuration()函数但没有usb_get_configuration()。也许可以从某个描述符中读取活动配置的配置值?

1 个答案:

答案 0 :(得分:0)

你是对的,libusb-win32奇怪的是没有导出这样的方法。但是,有一个USB请求,您可以轻松自己制作 - 只需滚动到libusb-win32/src/windows.c中的第106行。

基本上,这就是你想要做的事情:

#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);