gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 18:36:30 27 4
gpt4 key购买 nike

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

系统上安装的某些其他应用程序正在以读/写模式打开设备,没有共享模式。这会阻止我的图书馆(以及使用它的任何东西)与设备一起工作。我想这就是 HID 兼容设备的问题所在——其他驱动程序软件(鼠标、 Controller 、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}".

And I'm trying to open it using code, like:

//  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 的工具?来自 sysinternals?

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

关于c++ - 找出哪个进程对 USB 设备句柄具有独占锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23197/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com