磁盘驱动接受的irp系统AssociatedIrp.SystemBuffer为什么为0
我自己写了一个简单的虚拟磁盘驱动,在IRP_MJ_READ中处理的时候,发现系统发给我的irp中间,
其中的AssociatedIrp.SystemBuffer是为0的,我的驱动使用的是DO_BUFFER_IO的形式,按道理说
应该AssociatedIrp.SystemBuffer是系统缓冲区不应该为0啊,为什么会是0,这样造成我在处理
IRP_MJ_READ 的时候,总是出错,一查debug原来AssociatedIrp.SystemBuffer为0,为什么啊?
[解决办法]
应该是顶层驱动是直接采用direct_io方式。