squirrells
驱动牛犊
驱动牛犊
  • 注册日期2011-06-02
  • 最后登录2011-06-05
  • 粉丝0
  • 关注2
  • 积分25分
  • 威望150点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2112回复:2

IRP_MJ_WRITE 写入硬盘失败

楼主#
更多 发布于:2011-06-03 18:50
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), 这个费解啊,难道是重入,这个我菜鸟,不知道我问题说清楚了没。
wyhero
驱动牛犊
驱动牛犊
  • 注册日期2008-03-17
  • 最后登录2016-02-02
  • 粉丝0
  • 关注0
  • 积分67分
  • 威望563点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2011-06-05 23:43
寒江独钓中有说明,你是否过滤的是paging io?是否清了缓冲?
wwg266543
驱动小牛
驱动小牛
  • 注册日期2007-07-03
  • 最后登录2014-08-27
  • 粉丝3
  • 关注1
  • 积分3分
  • 威望882点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分54分
板凳#
发布于:2011-06-07 09:16
还是缓存处理的问题!
游客

返回顶部