java父系调用子系,获取usb设备父系或子代
///
/// 获取设备父系
///
///
///
private static bool TryGetDriverIdParent(string driver, out string resultDeviceID)
{
resultDeviceID = "";
try
{
int CM_LOCATE_DEVNODE_NORMAL = 0x00000000;
int CR_SUCCESS = 0x00000000;
UInt32 parentInst;
;
;
int apiResult = Win32.CM_Locate_DevNodeA(ref curInst, driver, CM_LOCATE_DEVNODE_NORMAL);
if (apiResult != CR_SUCCESS)
{
return false;
}
apiResult = Win32.CM_Get_Parent(out parentInst, (UInt32)curInst, CM_LOCATE_DEVNODE_NORMAL);
if (apiResult != CR_SUCCESS)
{
return false;
}
apiResult = Win32.CM_Get_Device_ID_Size(out pLen, parentInst, CM_LOCATE_DEVNODE_NORMAL);
if (apiResult != CR_SUCCESS)
{
return false;
}
];
//获取设备id字符串地址
apiResult = Win32.CM_Get_Device_ID(parentInst, ptrInstanceBuf, pLen, );
if (apiResult != CR_SUCCESS)
{
return false;
}
resultDeviceID = new string(ptrInstanceBuf);
return true;
}
catch (Exception ecException)
{
LogHelper.WriteErrorLog("获取父代" + ecException.Message, ecException);
return false;
}
}
[DllImport("setupapi.dll", SetLastError = true)]
public static extern int CM_Locate_DevNodeA(ref int pdnDevInst, string pDeviceID, int ulFlags);
[DllImport("setupapi.dll")]
public static extern int CM_Get_Parent(out UInt32 pdnDevInst, UInt32 dnDevInst, int ulFlags);
[DllImport("setupapi.dll", SetLastError = true)]
);
[DllImport("setupapi.dll", CharSet = CharSet.Unicode)]
public static extern int CM_Get_Device_ID(UInt32 dnDevInst, char[] buffer, int bufferLen, int flags);
java父系调用子系,获取usb设备父系或子代相关推荐
- C# 获取USB设备信息
WMI方式 using System; using System.Management; using System.Text.RegularExpressions; using System.Coll ...
- libusb获取usb设备的idVendor(vid),idProduct(pid),以及Serial Number
发表于2015/6/23 21:55:11 4594人阅读 最近在做关于usb设备的项目,用到了libusb,发现关于这个的函数库的介绍,讲解很少,下面仅仅是简单展示一些基本的使用方法,以备后用. ...
- 基于WMI获取USB设备信息(即获取插即用设备信息)System.Management.ManagementObjectSearcher--ManagementObjectCollection
基于WMI获取USB设备信息(即获取插即用设备信息)System.Management.ManagementObjectSearcher--ManagementObjectCollection 获取P ...
- java获取usb设备的相关信息
我从上上个礼拜开始接触,公司需要,所以开始在网上搜索相关资料,但是都没有找到合适的范例,但万幸终于测试出合适的代码. import java.io.UnsupportedEncodingExcepti ...
- Android获取USB设备信息
一.通过路径查询 cat /proc/bus/input/devices 二.使用UsbManager获取插入手机的USB设备名字 private void getDevice() {UsbManag ...
- linux 查看libusb版本,linux / libusb获取usb设备路径
我使用libusb来枚举一些usb设备.现在我想获得"设备路径".我认为这不是usb device-path,因为我没有成功使用谷歌. 如果我用linux连接usb设备,我会在dm ...
- java程序调用Oracle 存储过程 获取返回值(无返回,非结果集,结果集)
oracle中procedure是不能有返回值的,要想返回值,就得有输出参数,同样要想返回记录集,可以把游标类型作为输出参数. 下面是详细情况说明: 一:无返回值的存储过程调用 存储过程: creat ...
- linux脚本获取usb设备,Linux基于USB端口执行脚本
您应该弄清楚您的外部端口与哪个USB总线连接.在我的电脑上所有外部USB端口都连接到Bus 01 要做这个检查lsusb -t的输出,然后附上一个usb设备并再次检查输出lsusb -t.那么你知道什 ...
- C# 获取USB设备列表
窗体设计及运行效果图 添加CyUSB.dll引用(如果需要识别由CyUSB.sys提供设备驱动的USB设备) 源码: public partial class Form1 : Form { ...
最新文章
- TensorFlow中的ResNet残差网络实战(1)
- shell介绍及基本用法
- Alt + sysrq + REISUB doesn't reboot my laptop
- 【转载】register、volatile、restrict 三关键字的用法
- python用途与前景-2019年Python就业及发展前景如何 看完你就清晰了
- 算法杂货铺——分类算法之朴素贝叶斯分类(Naive Bayesian classification)
- 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(学成在线)
- 全局变量,extern和static以及命名空间的区别
- linux源码acl,Linux自主访问控制机制模块详细分析之posix_acl.c核心代码注释与acl.c文件介绍...
- flink其他可选api
- 机器学习--线性回归4(线性拟合、局部线性拟合实战)
- 国内著名声学期刊简介
- 【第008问 Unity中什么是UV?】
- VIJOS P1540 月亮之眼
- Linux下的sock_stream和sock_dgram
- java23种设计模式面试常被问到的单利模式讲解
- OpenGL: gluLookAt函数的含义
- MOS管驱动电路隔离技术
- Sorry, but pdflatex did not succeed
- 谷歌pixel3axl开发者模式_谷歌彻底取消开发者大会!安卓版微信“暗黑模式”要来了...
热门文章
- leetcode 36. Valid Sudoku | 37. Sudoku Solver(数独)
- 汇编语言 修改显存 在屏幕上显示图案
- 12个月大厂主机免费领AWS Azure Google-Cloud还不快到碗里来
- ae灯光插件_AE教程|Particular粒子插件全面讲解介绍官方视频教程 「中文字幕」...
- C++实现字符串分割函数split()
- 洛谷——P1181 数列分段Section I
- 【简洁写法】剑指 Offer 32 - I. 从上到下打印二叉树
- 【最优解法】1054 求平均值 (20分)_31行代码AC
- 【图示,简单明了】HttpServlet中getAttribute和getParameter的区别——【javaweb系列学习笔记】
- Python数据结构学习笔记——队列和双端队列