阅读:2112回复:2
IRP_MJ_WRITE 写入硬盘失败if(new_mdl == NULL) irp->UserBuffer = new_buffer; else irp->MdlAddress = new_mdl; 透明加密,过滤写请求的时候:1. irp 缓冲区中的内容的确被替换掉了,mdlAddress指向的缓冲为自己建立的 new_mdl = allocateMdl(len);2. windbg 调试的时候,irp指向的缓冲区的内容的确是我加密过的 3. 写请求完成后也恢复了原来的 mdlAddress 但写入的数据仍然是加密前的,也就是之前的缓冲区中的,不是我分配的缓冲区(new_mdl)中的数据,但是irp指向的缓冲区的确是指向我分配的(new_mdl), 这个费解啊,难道是重入,这个我菜鸟,不知道我问题说清楚了没。 |
|
沙发#
发布于:2011-06-05 23:43
寒江独钓中有说明,你是否过滤的是paging io?是否清了缓冲?
|
|
板凳#
发布于:2011-06-07 09:16
还是缓存处理的问题!
|
|