我的驱动程序里要处理大批量数据处理,所以用Direct I/O方式。程序为中间层驱动程序。操作系统及ddk均为win2k。当我拿到Irp->MdlAddress后,我对MDL进行如下分割,请牛虫们帮我看看错在哪里了:1.获取总的MDL的system virtual addr...
全文
回复(2) 2003-03-01 17:24 来自版块 - 内核编程
表情
daor1.我的是中间层驱动,按照ddk,应该是不用锁定,因为上层已经帮我锁定了。 2.这是对的,以前我没注意到这一点。这个问题由另外一个师兄解决了,好象我设的固定虚拟地址是错的,应该使该指针移动,即分割出一个小MDL,虚拟地址指针就往后移动一点。 谢谢你的回答!(2003-03-11 19:56)
Sunbeam1、最先要调用MmProbeAndLockPages(你的错误好象是由此产生的) 2、IoBuildPartialMdl的参数中虚拟地址和长度要小心,可能要4K的倍数。(2003-03-03 14:13)

返回顶部