c - 如何在 Windows 的文件系统驱动程序中查找 PNP 设备 ID

标签 c windows filesystems kernel driver

我已经创建了一个文件系统驱动程序来允许或阻止 Windows 中的外部存储设备。为了允许特定设备,我需要找出 PNP 设备 ID。有没有可能找到 PNP id 设备的方法?

最佳答案

您可以创建一个 IRP_MN_QUERY_ID ,并使用 BusQueryDeviceID 将标识符放入缓冲区。

您还可以使用 IOCTL_STORAGE_QUERY_PROPERTY 获取一些通常是 ID 一部分的数据,例如供应商和产品 ID。

请注意,并非所有硬件都保证(事实上,大多数都没有)具有唯一标识符。

关于c - 如何在 Windows 的文件系统驱动程序中查找 PNP 设备 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52495248/

相关文章:

java - 使用 Java 创建 Windows 符号链接(symbolic link)(相当于 MKLINK)

objective-c - 监视特定文件夹的更改并检测 Cocoa 中哪些文件发生了更改

c++ - 有没有办法包含 std::filesystem 的转发 header ?

c - C语言中如何将二进制转换为十进制

c - 超过 500000 用 Eratosthenes 的方法

windows - 批处理变量名中的冒号

c# - Windows 语音识别 C#

c - 加速Linux可执行程序-arm处理器。位切换

c - 素数计划

c# - Windows 10 中虚拟桌面的编程控制