c - libusb_set_interface_alt_setting () 有什么作用?

标签 c libusb-1.0

libusb 提供了 libusb_set_interface_alt_setting() 方法来为接口(interface)提供备用设置。我的问题是对界面进行备用设置是什么意思。

if ((ret = libusb_claim_interface(handle, interface))  == LIBUSB_SUCCESS)
       {
           printf("%s: interface %d claimed.\n", __FUNCTION__, interface);

           /* Set alternate interface */
           if ((ret = libusb_set_interface_alt_setting(handle, interface, alternate)) == LIBUSB_SUCCESS)
           {
              printf("%s: alternate interface %d set.\n", __FUNCTION__, alternate);
              return CIMAX_USB_NO_ERROR;
           }
           else
             printf("%s: setting alternate interface %d failed (%s)!\n", __FUNCTION__, alternate, libusb_error_name(ret));
        }
        else
          printf("%s: claim interface %d failed (%s)!\n", __FUNCTION__, interface, libusb_error_name(ret));

最佳答案

USB 设备支持单个设备中的多个接口(interface)。此 API 根据功能用户空间应用程序的要求设置当前界面的事件备用设置。在内部,它使用 IOCTL_USB_SETINTF 将应用程序的要求传达给 Linux USB 主机框架的 usbcore 模块。

关于c - libusb_set_interface_alt_setting () 有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17546709/

相关文章:

c - 在C中将字符串写入文本文件(文件开头有额外的空格)

c - 调整 malloc 指针

Android NDK : make: *** No rule to make target. 停止

c - 为什么使用 lsusb 读取失败?

c - undefined reference usb_init()

c - 在 libusb_fill_interrupt_transfer 回调中使用 "user_data"时出错

c - 我如何让 printf 在 w32 上使用 'nan'?

c++ - 插入排序错误

c - 已释放对象的校验和不正确 - 对象可能在释放后被修改。我该如何解决?

java - 读取连续传入的数据(usb4java)