IoGetDeviceProperly导致BSOD

问题描述 投票:2回答:1

我已经为Windows中的硬盘(如DDK的DiskPerf)编写了筛选器驱动程序,我需要获取有关驱动程序所连接的设备的一些信息,例如HardWareID。我在IRP_MJ_READ函数中使用IoGetDeviceProperly。但是此方法会导致BSOD,而BSOD表示问题是“ IRQL_NO_LESS_OR_EQUAL”。 MSDN说DispatchRead和IoGetDeviceProperly都在PASSIVE_LEVEL上运行。怎么了?如何获取有关驱动程序已连接到的设备的信息?

windows driver bsod hardware-id
1个回答
0
投票

DispatchRead例程可以在IRQL = APC_LEVEL处调用。

请参见Dispatch Routines and IRQLs

调用IoGetDeviceProperty并将设备信息保存在DispatchCreate中,并在DispatchRead中使用它。

© www.soinside.com 2019 - 2024. All rights reserved.