0

我使用 libusb-1.0 与设备进行通信。

int rc=libusb_init(NULL);
Q_ASSERT_X(rc == 0,"initialization","---libusb is not initialized----" );
libusb_set_debug(NULL, 3);
m_handle = libusb_open_device_with_vid_pid(NULL, VID, PID);
if (m_handle == NULL)
        return false;
if (libusb_kernel_driver_active(m_handle,DEV_INTF))
        libusb_detach_kernel_driver(m_handle, DEV_INTF);
if (libusb_claim_interface(m_handle,  DEV_INTF) < 0)
    return false;

我有两个独立的软件产品,它们都可以处理设备。如果我在第一个软件中使用设备,我将无法在第二个软件中打开 open_device_with_vid_pid。我怎样才能获得状态什么设备正忙?Libusb 调试显示错误

libusb:error [winusbx_open] 无法打开设备...访问被拒绝

4

1 回答 1

1

除了尝试打开设备并检查它是否成功之外,没有跨平台的方法可以做到这一点。

于 2015-09-03T16:42:10.663 回答