找出哪个进程对 USB 设备句柄具有独占锁

2023-11-25

我有一个使用 CreateFile() API 读取/写入 USB 设备的库。该设备恰好实现了 HID 设备配置文件,因此它与 Microsoft 的 HID 类驱动程序兼容。

系统上安装的其他一些应用程序正在以读/写模式打开设备,而没有共享模式。这会阻止我的库(以及使用它的任何内容)使用该设备。我想这就是 HID 兼容设备的问题所在——其他驱动程序软件(鼠标、控制器、PHIDGETS 等)可能不合作。

无论如何,设备文件路径的形式为:



1: "\\?\hid#hpqremhiddevice&col01;#5&21ff20e7&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}".

2: "\\?\hid#vid_045e&pid;_0023#7&34aa9ece&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}".

3: "\?\hid#vid_056a&pid;_00b0&col01;#6&5b05f29&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}".
  

我正在尝试使用代码打开它,例如:

//  First, open it with minimum permissions, this device may not be ours.
//  we'll re-open it later in read/write
hid_device_ref = CreateFile(
    device_path, GENERIC_READ,
    0, NULL, OPEN_EXISTING,
    FILE_ATTRIBUTE_NORMAL, NULL);

我考虑过使用 SysInternals 的 FileMon 或 Process Monitor 等工具。但我似乎无法让它报告设备文件句柄的使用情况,如上面列出的那样。


您是否尝试过名为的工具handle来自系统内部?

无论如何,Windows 都不会这样做(显示锁定设备的应用程序的名称):当您尝试弹出 USB 设备时,Windows 只是说该设备当前正在使用,现在无法删除。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

找出哪个进程对 USB 设备句柄具有独占锁 的相关文章

  • VLC 媒体播放器有 C# 界面吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否可以使用 C 控制台应用程序中的包装器从 VLC 播放中当前播放的文件中读取曲目统计信息 时间 标
  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • C# 中的 Stack<> 实现

    我最近一直在实现递归目录搜索实现 并且使用堆栈来跟踪路径元素 当我使用 string Join 连接路径元素时 我发现它们被颠倒了 当我调试该方法时 我查看了堆栈 发现堆栈内部数组中的元素本身是相反的 即最近 Push 的元素位于内部数组的
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • Selenium - C# - Webdriver - 无法找到元素

    在 C 中使用 selenium 我试图打开浏览器 导航到 Google 并找到文本搜索字段 我尝试下面的 IWebDriver driver new InternetExplorerDriver C driver Navigate GoT
  • 如何向 Mono.ZeroConf 注册服务?

    我正在尝试测试 ZeroConf 示例http www mono project com Mono Zeroconf http www mono project com Mono Zeroconf 我正在运行 OpenSuse 11 和 M
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • C# 根据当前日期传递日期时间值

    我正在尝试根据 sql server 中的两个日期获取记录 Select from table where CreatedDate between StartDate and EndDate我通过了5 12 2010 and 5 12 20
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • 如何在 Javascript 中连接 C# ActiveX 事件处理程序

    我尝试使用几个代码片段将 ActiveX 对象与 Javascript 事件处理程序挂钩 我无法确定为什么事件处理程序没有被调用 带有项目的 Github 存储库 https github com JesseKPhillips Csharp
  • 如何防止 Blazor NavLink 组件的默认导航

    从 Blazor 3 1 Preview 2 开始 应该可以防止默认导航行为 https devblogs microsoft com aspnet asp net core updates in net core 3 1 preview
  • 在 azure blob 存储中就地创建 zip 文件

    我将文件存储在 Blob 存储帐户内的一个容器中 我需要在第二个容器中创建一个 zip 文件 其中包含第一个容器中的文件 我有一个使用辅助角色和 DotNetZip 工作的解决方案 但由于 zip 文件的大小最终可能达到 1GB 我担心在进
  • 如何在多线程应用程序中安全地填充数据并 Refresh() DataGridView?

    我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表 MousePos 是一个自定义类 它保存鼠标 X Y 坐标 类型为 Point 和该位置的运行计数 我有一个线程 System Timers Timer
  • .NET 和 Mono 之间的开发差异

    我正在研究 Mono 和 NET C 将来当项目开发时我们需要在 Linux 服务器上运行代码 此时我一直在研究 ASP NET MVC 和 Mono 我运行 Ubuntu 发行版 想要开发 Web 应用程序 其他一些开发人员使用 Wind
  • C:设置变量范围内所有位的最有效方法

    让我们来int举个例子 int SetBitWithinRange const unsigned from const unsigned to To be implemented SetBitWithinRange应该返回一个int其中所有
  • 在 C# 的 WebAPI 中的 ApiController 上使用“传输编码:分块”提供数据

    我需要服务分块传输使用编码数据API控制器 因为我无权访问HttpContext or the Http请求 我有点不知道在哪里写入响应以及在哪里刷新它 设置如下 public class MyController ApiControlle
  • 任何人都可以清楚地告诉如何在不使用像 这样的预定义函数的情况下找到带有小数值或小数值的指数吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 例如 2 0 5 1 414 所以想要 我是 c 的新手 所以请解释简单的逻辑 如果不是复杂的逻辑也足够了 在数学中 从整数取幂到实数
  • winform c# 中的弹出窗口

    我正在开发一个需要弹出窗口的项目 但问题是我还希望能够通过表单设计器在此弹出窗口中添加文本框等 所以基本上我有一个按钮 当您单击它时 它将打开我在表单设计器中设计的另一个窗口 我一直在谷歌搜索 但还没有找到我需要的东西 所以我希望你们能帮助
  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其

随机推荐

  • Bash 在 rsync/subshel​​l exec 语句期间不捕获中断

    Context 我有一个 bash 脚本 其中包含一个子 shell 和一个用于 EXIT 伪信号的陷阱 并且它在执行期间没有正确捕获中断rsync 这是一个例子 bin bash logfile path to file director
  • 有没有针对 SQL Server 的查询优化工具? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 是否有任何工具可以对 SQL Server 2005 及更高版本进行查询优化 我已经搜索过并没有找到任何东西 你有什么建议吗 如果在您关闭之前重复了
  • 页面如何告诉浏览器存在 AMP HTML 版本?

    我知道我将有两页 AMP 一页和常规一页 AMP 版本具有到常规版本的规范链接 但常规版本如何指定有可用的 AMP 版本 The AMP 文档发现文档指定您需要在 举例来说 如果您查看已支持 AMP 的发布商的页面 例如http www b
  • 互相关会产生滞后吗?

    假设有两个信号 import numpy dt 0 001 t steps np arange 0 1 dt a sig np sin 2 np pi t steps 4 5 b sig np sin 2 np pi t steps 4 我
  • 如何在 Neo4j/Cypher 中返回复合对象

    我想使用 cypher 从 Neo4j 返回一个复合对象来整理我的查询 举个例子 我有一个用户帐户对象 其权限存储为关系 权限是复杂的对象 因此无法嵌套 它们现在通过关系 HAS PERMISSION 链接 我想要做的是返回已嵌套权限的完整
  • 将整数插入 Start 中的阿拉伯字符串

    我试图将整数添加到阿拉伯字符串但没有成功 Arabic String Astr String with Integer 1 num 1 Adding Strings r Astr num r num Astr 输出 1 期望的输出 1 我想
  • 模拟器中的 iOS 6 自动旋转与实际 iOS 6 设备不同

    我的应用程序不会在 iOS 6 GM 模拟器中自动旋转 但它会在设备上的相同版本的 iOS 中自动旋转 这可能是模拟器的错误吗 该应用程序正在使用已弃用的自动旋转方法 但它们在设备本身上运行良好 这让我想知道模拟器 API 是否不同 它应该
  • Qt SDK、Apwrapper:它是什么,它有什么作用。

    我已阻止 Visual Studio 的网络连接 使用 Visual Studio 添加安装 Qt SDK 后 我收到一条错误消息 无法连接到 AppWrapper 卸载了 SDK 并且不再尝试连接到 AppWrapper 随 Qt 安装的
  • 关于未引用变量的 JavaScript 闭包

    我知道有关闭包的精彩帖子here and here 但似乎都没有解决我想到的具体情况 这个问题最好用代码来证明 function foo var x var y whatever return function bar alert y va
  • Python 解释器如何在动态类型中工作?

    我读过这个问题 但它没有给我明确的答案 Python解释器如何寻找类型 python解释器如何知道变量的类型 我不是在寻找如何获得类型 我在这里看看幕后发生的事情 在下面的示例中 它如何将类 int 或 string 与我的变量关联起来 它
  • jQuery 图像加载回调

    加载后动态地将图像添加到页面 然后进行用户交互 并且在该图像完全加载后启动功能时遇到问题 我认为使用 jQuery load 方法会很好 但是根据我的控制台和一堆文档 log它从未执行过的业务 见下文 谢谢 body append img
  • 为什么“即使有不同的条件界限,也不能有多个一致性”?

    我希望 Swift 能够让我为具有指定条件的类型创建扩展where堵塞 我想象我可以根据具体的泛型类型值使用不同的扩展来扩展相同的泛型类型 T 但不是 以下示例演示了我的问题 protocol P associatedtype Prop v
  • 线裁剪为任意二维多边形

    如果我得到一条足够长的线段来穿过给定的多边形 该多边形可能是凹多边形或凸多边形 我如何找到多边形中包含的所有相交的光段 如果目标区域不是多边形 而是隐式曲线函数或样条曲线 怎么办 Thanks 对于您的问题确实没有简单的解决方案 尤其是曲线
  • 如何在 Windows XP 中写入 I/O 端口? (德尔福7)

    我试图写入端口 0x60 和 0x64 但没有成功 德尔福代码 procedure PortOut IOport WORD Value BYTE assembler register asm XCHG DX AX OUT DX AL end
  • 计数器每次都会初始化?

    我尝试制作一个简单的计数器 然而我的计数器没有上升 在我看来 好像它们每次都被函数 inc 重新初始化 或者可能 n 1 不起作用 我该如何最好地解决这个问题 inc Int gt IO Int inc n return n 1 main
  • 使用 python 保存换行符分隔的 json(又名 linejson、jsonlines、.jsonl 文件)的模式

    使用 Python 我将 json 文档保存到单独的行中 如下所示 from bson import json util pymongo with open test json ab as f for document in documen
  • Delphi IDE 有 git 插件吗?

    是否有一些不错的 git 集成可以让 Delphi IDE 2010 的工作变得更轻松 您可以使用乌龟Git在 Delphi IDE 2007 及更高版本中 通过文件浏览器功能 TortoiseGit 集成到 Windows 资源管理器中
  • 从活动目录获取用户的密码

    是否可以获取计算机所加入的活动目录上的帐户密码 我知道这听起来可能是一件危险的事情 但我想使用管理员用户的用户 ctx 启动一个进程 而不需要硬编码密码 我正在使用 NET 3 5 SLaks 我知道你是主持人 但在这里 这不是正确的答案
  • 将一张图像移动到另一张图像内

    背景 我允许用户上传蒙版图像内的图像 一旦用户上传图像 我就填充用户上传里面的图像mask image 1 遮罩图像 2 用户上传的图片 3 用户上传的面具图像 最终图像 代码笔 https codepen io kidsdial2 pen
  • 找出哪个进程对 USB 设备句柄具有独占锁

    我有一个使用 CreateFile API 读取 写入 USB 设备的库 该设备恰好实现了 HID 设备配置文件 因此它与 Microsoft 的 HID 类驱动程序兼容 系统上安装的其他一些应用程序正在以读 写模式打开设备 而没有共享模式