我已经写了一个硬盘的过滤驱动程序(如DDK的DiskPerf ),我需要获得一些关于我的驱动程序连接到它的设备的信息,例如HardWareID。我在IRP_MJ_READ函数中使用IoGetDeviceProperly。但是这种方法会导致BSOD,而BSOD说问题是"IRQL_NO_LESS_OR_EQUAL“。MSDN表示,DispatchRead和IoGetDeviceProperly都在PASSIVE_LEVEL上运行。怎么啦?如何获取驱动程序所连接的设备的相关信息?
发布于 2020-05-16 09:25:11
可以在IRQL = APC_LEVEL处调用DispatchRead例程。
请参阅Dispatch Routines and IRQLs
调用IoGetDeviceProperty,将设备信息保存在DispatchCreate中,并在DispatchRead中使用。
https://stackoverflow.com/questions/9047861
复制相似问题