xuAmigo
驱动小牛
驱动小牛
  • 注册日期2004-11-11
  • 最后登录2006-01-12
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:925回复:4

IRP_MJ_WRITE为什么过滤不掉

楼主#
更多 发布于:2005-03-17 14:50
这是老话重提了,是关于diskperf的,在读写例程中是这样判段的,if(currentStact->majorFunction == IRP_MJ_WRITE)
{
Irp->IoStatus.Status = STATUS_ACCESS_DENIED;
Irp->IoStatus.Information = 0;
IoComplete(Irp,xxxxx);
return STATUS_ACCESS_DENIED;
}
添加的代码就是这些,进如函数体后它没有返回出去而是又执行了一个DiskPerfSendToNextDriver,不知为什么
xuAmigo
驱动小牛
驱动小牛
  • 注册日期2004-11-11
  • 最后登录2006-01-12
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-17 15:48
为什么没人理我了
aiwadgj
驱动老牛
驱动老牛
  • 注册日期2004-11-13
  • 最后登录2020-12-24
  • 粉丝0
  • 关注0
  • 积分119分
  • 威望84点
  • 贡献值0点
  • 好评度14点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2005-03-17 16:37
这是老话重提了,是关于diskperf的,在读写例程中是这样判段的,if(currentStact->majorFunction == IRP_MJ_WRITE)
{
Irp->IoStatus.Status = STATUS_ACCESS_DENIED;
Irp->IoStatus.Information = 0;
IoComplete(Irp,xxxxx);
return STATUS_ACCESS_DENIED;
}
添加的代码就是这些,进如函数体后它没有返回出去而是又执行了一个DiskPerfSendToNextDriver,不知为什么


改成{
Irp->IoStatus.Status = STATUS_ACCESS_DENIED;
Irp->IoStatus.Information = 0;
IoCompleteRequest(Irp,IO_NO_INCREMENT );
}

试试。。。。。。。。。。。

 :o
酒也在沉溺,何时麻醉我抑郁。过去了的一切会平息。。。。。。。
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-17 16:59
没有个IoComplete只有个IoCompletion回调例程,这里只能用aiwadgj大侠说的IoCompleteRequest
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
xuAmigo
驱动小牛
驱动小牛
  • 注册日期2004-11-11
  • 最后登录2006-01-12
  • 粉丝0
  • 关注0
  • 积分58分
  • 威望10点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-17 22:25
我用的就是IoCompleteRequest,我拼错了,但还是有问题
游客

返回顶部