【发布时间】:2012-01-28 19:22:14
【问题描述】:
我已经为 Windows 中的硬盘编写了一个过滤器驱动程序(例如 DDK 的 DiskPerf),我需要获取一些有关我的驱动程序连接到它的设备的信息,例如 HardWareID。 我在 IRP_MJ_READ 函数中使用 IoGetDeviceProperly。但是这种方法会导致 BSOD 并且 BSOD 说问题是“IRQL_NO_LESS_OR_EQUAL”。 MSDN 说 DispatchRead 和 IoGetDeviceProperly,都在 PASSIVE_LEVEL 运行。 怎么了? 如何获取有关驱动程序附加到它的设备的信息?
【问题讨论】:
-
它们不会在被动状态下运行,它们只能在被动状态下正常工作。分页 I/O 请求在 apc 级别运行,您必须避免这些。
标签: windows driver bsod hardware-id