用这个函数试试

//GetDeviceViaInterface:Open a handle via a device interface

HANDLE GetDeviceViaInterface( GUID* pGuid, DWORD instance)

{

// Get handle to relevant device information set

HDEVINFO info = SetupDiGetClassDevs(pGuid, NULL, NULL, DIGCF_PRESENT | DIGCF_INTERFACEDEVICE);

if(info==INVALID_HANDLE_VALUE)

{

printf(\"No HDEVINFO available for this GUID\\n\");

return NULL;

}

// Get interface data for the requested instance

SP_INTERFACE_DEVICE_DATA ifdata;

ifdata.cbSize = sizeof(ifdata);

if(!SetupDiEnumDeviceInterfaces(info, NULL, pGuid, instance, &ifdata))

{

printf(\"No SP_INTERFACE_DEVICE_DATA available for this GUID instance\\n\");

SetupDiDestroyDeviceInfoList(info);

return NULL;

}

// Get size of symbolic link name

DWORD ReqLen;

SetupDiGetDeviceInterfaceDetail(info, &ifdata, NULL, 0, &ReqLen, NULL);

PSP_INTERFACE_DEVICE_DETAIL_DATA ifDetail = (PSP_INTERFACE_DEVICE_DETAIL_DATA)(new char[ReqLen]);

if( ifDetail==NULL)

{

return NULL;

}

// Get symbolic link name

ifDetail->cbSize = sizeof(SP_INTERFACE_DEVICE_DETAIL_DATA);

if( !SetupDiGetDeviceInterfaceDetail(info, &ifdata, ifDetail, ReqLen, NULL, NULL))

{

SetupDiDestroyDeviceInfoList(info);

delete ifDetail;

return NULL;

}

printf(\"Symbolic link is %s\\n\",ifDetail->DevicePath);

// Open file and pipe

HANDLE rv = CreateFile(ifDetail->DevicePath,

GENERIC_READ | GENERIC_WRITE,

FILE_SHARE_READ | FILE_SHARE_WRITE,

NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);

if( rv==INVALID_HANDLE_VALUE) rv = NULL;

delete ifDetail;

SetupDiDestroyDeviceInfoList(info);

return rv;

}

php读取usb设备信息,急,请问如何获取USB设备的路径,非HID类型相关推荐

  1. Android专业获取设备信息如:AndroidID、唯一设备ID、制造商、型号、版本号、版本码等

    在开发app中很多时候需要获取设备的基本信息等运用到项目中,就需要一些方法获取,网上资源中方法五花八门,有的还获取不到,令人头大,话不多说,鄙人整理了一套方法,话不多说真机测试如下>上图: 接下 ...

  2. 获取android设备唯一编号_如何获取Android设备唯一标识码教程

    ID的全称是(Virtual identity electronic identification),中文名为通用账户,是俗称的网络身份证.它是一种互联网身份认证协议,其具有唯一性和信息不可否认性.I ...

  3. 是否允许应用获取设备信息_手机权限获取弹窗不断,隐私安全如何确保,这些权限需谨慎...

    安卓手机在安装软件的时候,总是会要求获取各种权限,除了一些必要权限外,有时还会索要一些敏感权限,如:电话.联系人等权限.工信部也在去年,展开了一次大规模的整顿,,现在很多软件拒绝了权限,也是可以使用的 ...

  4. 读取服务器内存信息工具,使用Sigar获取服务器内存、IP、CPU、IO、MAC地址、操作系统等信息......

    sigar linux 文件和windows文件和sigar的jar包 链接: https://pan.baidu.com/s/1bGrupzmaOAjLEUE0gp6DmA 提取码: gj31 工具 ...

  5. Android 手机设备信息获取使用详解

    Android 手机是我们常用的工具之一,买手机之前,手机厂商会提供一些手机参数给我们,那么问题来了,我们该如何获取手机上的参数信息呢? 通过本文你讲了解到获取手机常用信息的基本方法. 获取手机基本信 ...

  6. C# 获取USB设备信息

    WMI方式 using System; using System.Management; using System.Text.RegularExpressions; using System.Coll ...

  7. 基于WMI获取USB设备信息(即获取插即用设备信息)System.Management.ManagementObjectSearcher--ManagementObjectCollection

    基于WMI获取USB设备信息(即获取插即用设备信息)System.Management.ManagementObjectSearcher--ManagementObjectCollection 获取P ...

  8. 痞子衡嵌入式:可通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是通过USB Device Path来唯一指定i.MXRT设备进行ROM/Flashloader通信. i.MXRT系列高性能微控制器从2 ...

  9. Linux内核驱动开发-USB热插拔信息调取

    前言: 前段时间上科大嵌入式安卓开发溜了个作业,开发一个驱动,可以实现读取USB热插拔信息,程序调用显示USB设备名称和插拔时间.代码已经放在了我的Github上,供大家参考. 思路: USB热插拔的 ...

最新文章

  1. 伍六七带你学算法 入门篇 ——最大子序和
  2. CSS基本选择器、层次选择器、结构伪类选择器、属性选择器
  3. UVA 11136——Hoax or what
  4. day44-前端知识之HTML内容
  5. android与ndk交互,NDK-JNI与Java的交互 hello-world
  6. android_Media
  7. Jamovi 教程:比SPSS还好用的统计软件,强烈安利
  8. 什么是DHCP(中继模式)
  9. 安装VTN协调器操作步骤
  10. python数据分析——网络流量的一些特性
  11. GO 中 Chan 实现原理分享
  12. Android 当EditextText失去焦点,或者点击Activity的时候关闭软键盘或者其他布局
  13. sql语句操作(2)
  14. bzoj4399 魔法少女LJJ 线段树合并
  15. 面向对象分析与设计的底层逻辑
  16. SAP概念之利润中心(Profit Center)
  17. IEEE之后,学术政治化会成为人类的“潘多拉魔盒”吗?
  18. python套用word模板_Python3操作Office之Word模板技术
  19. RTX3060配什么主板好 RTX3060配什么cpu
  20. LTSPICE显示模型参数

热门文章

  1. 【控制】《自动控制原理》胡寿松老师-目录
  2. 【控制】《多智能体系统一致性与复杂网络同步控制》郭凌老师-第6章-Lurie 型动态网络的簇同步
  3. P7 频域分析法-《Matlab/Simulink与控制系统仿真》程序指令总结
  4. wifi无线网卡移植到andorid
  5. 信道容量与Shannon公式
  6. C#8.0可空引用类型的使用注意要点
  7. Linux基础命令---more
  8. linux命令之less命令
  9. Python第一弹--------初步了解Python
  10. 批量部署OFFICE2013