求助 使用libusb ,调用libusb_claim_interface 返回-6 如何禁止系统自动加载
操作系统: UOS 20
为了在用户权限下访问USB设备 添加了rules文件
示例代码
UOS 系统会自动加载我的USB设备 ,导致 第一次 libusb_claim_interface必定失败,需要调用 libusb_detach_kernel_driver 来卸载设备.
这个时候问题就来了,每次调用libusb_detach_kernel_driver ,系统都会弹框提示 “设备已拔出” 。
有没有办法让它不提示,最好是让系统不自动加载我的设备,或者在不需要卸载的情况下发指令。
谢谢各位大佬!
为了在用户权限下访问USB设备 添加了rules文件
SUBSYSTEM=="usb", ATTRS{idVendor}=="1111", MODE="0666"示例代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <unistd.h>
#include "libusb.h"
libusb_context *g_stUsbCtx = 0;
struct libusb_device **pDevList = 0, *pCurDev = 0;
struct libusb_device_handle *pDevHandle = 0;
int main()
{
int iRtn = 0;
if (g_stUsbCtx == 0)
{
iRtn = libusb_init(&g_stUsbCtx);
if (iRtn < 0)
{
iRtn = -1;
return iRtn;
}
}
iRtn = libusb_get_device_list(g_stUsbCtx, &pDevList);
if (iRtn < 0)
{
iRtn = -1;
return iRtn;
}
pDevHandle = libusb_open_device_with_vid_pid(g_stUsbCtx,0x1111,0x2222);
if (pDevHandle <= 0)
{
iRtn = -1;
libusb_close(pDevHandle);
pDevHandle = 0;
return iRtn;
}
uint8_t ucInterfaceIndex = 0;
iRtn = libusb_claim_interface(pDevHandle, ucInterfaceIndex);
if ((iRtn != LIBUSB_SUCCESS) && (ucInterfaceIndex == 0))
{
iRtn = libusb_detach_kernel_driver(pDevHandle, ucInterfaceIndex);
iRtn = libusb_claim_interface(pDevHandle, ucInterfaceIndex);
}
iRtn = libusb_release_interface(pDevHandle, ucInterfaceIndex);
//close
if (pDevHandle)
{
if (ucInterfaceIndex != (uint8_t)(-1))
{
libusb_detach_kernel_driver(pDevHandle, ucInterfaceIndex);
}
libusb_close(pDevHandle);
pDevHandle = 0;
}
return 0;
}UOS 系统会自动加载我的USB设备 ,导致 第一次 libusb_claim_interface必定失败,需要调用 libusb_detach_kernel_driver 来卸载设备.
这个时候问题就来了,每次调用libusb_detach_kernel_driver ,系统都会弹框提示 “设备已拔出” 。
有没有办法让它不提示,最好是让系统不自动加载我的设备,或者在不需要卸载的情况下发指令。
谢谢各位大佬!
...全文
相关推荐
超级加密狗自动识别工具:从硬件指纹到驱动部署的全栈解决方案
在软件授权与数据保护领域,硬件加密狗是绑定软件许可、防止盗版的关键物理设备。其工作原理是通过USB接口与主机通信,利用私有协议实现身份认证与许可验证。这项技术的核心价值在于为高价值软件提供强安全保障,广泛应用于工程设计、财务软件、医疗系统等需要严格授权管理的场景。然而,面对市面上品牌繁杂、驱动各异的‘超级加密狗’,运维人员常陷入手动识别与配置的困境。本文聚焦于**设备指纹采集**与**驱动静默安装**两大核心环节,深入解析如何构建多维特征库实现精准鉴别,并设计自动化流程完成驱动部署,最终打造出一款能无缝集成
园区如何利用数据洞察优化企业服务和管理?.docx
园区如何利用数据洞察优化企业服务和管理?
科技园区如何提升服务精准度,为科技企业匹配高效创新资源?.docx
科技园区如何提升服务精准度,为科技企业匹配高效创新资源?
新闻稿-清新雅致.docx
新闻稿-清新雅致
nodejs-20261015
123


驱动程序开发区
