libusb_open_device_with_vid_pid发出有关打开设备的警告

问题描述

我在某些.dll项目中将usblib用作Qt-应用程序的目标操作系统目前为Windows 10。我试图用鼠标打开通信通道,并向其发送更改其RGB LED diode颜色的命令。使用相同的命令已在Linux中成功完成了该任务(出于测试目的)。该命令本身已使用Wireshark标识。所以,这是代码

MouseDriver::MouseDriver(QObject* parent,libusb_context* sessionContext,const struct libusb_device_descriptor& deviceDescriptor)
    : QObject(parent),sessionContext(sessionContext),deviceHandle(Q_NULLPTR),deviceDescriptor(deviceDescriptor)
{
    qDebug() << Q_FUNC_INFO
             << "Mouse driver instantiated,establishing communication";

    this->deviceHandle=libusb_open_device_with_vid_pid(this->sessionContext,MOUSE::DEVICE_VID,MOUSE::DEVICE_PID);

    if(this->deviceHandle==Q_NULLPTR)
    {
        // error opening device

        qDebug() << Q_FUNC_INFO
                 << "Could not establish communication with device";
    }
    else
    {
        // device opened

        qDebug() << Q_FUNC_INFO
                 << "Communication with device established";

        this->slotSwitchToColor(0x00,0x00,0xff);
    }   // if
}

libusb_open_device_with_vid_pid通话之后,我收到以下警告:

[0.052859] [00000e6c] libusb:警告[hid_open]无法打开HID R / W模式下的设备(键盘还是鼠标?)-尝试不使用

,我认为这是通过libusb_interrupt_transfer发送命令的原因(正如我在Linux下成功实现的),我得到LIBUSB_ERROR_IO。我还读过Windows获得USB鼠标和键盘的独占访问权的地方,但是如果是这样,原始鼠标配置应用程序如何工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)