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

问个磁盘过滤驱动的问题

楼主#
更多 发布于:2005-03-08 09:27
这个主要是用来对USB设备进行控制的,假设当插入USB设备时已能识别并加了标识语句,我现在要做的是只读USB设备(即对可移动磁盘只读),做法是对读写例程中的写请求过滤掉,
代码如下,if(Irp->MainFunction == IRP_MN_WRITE)
{Irp->IoStatus.Status = STATUS_UNSUCCESSFUL;
 Irp->Information = 0;
 IoCompleteRequst(Irp,xxx);
 return STATUS_UNSUCCESSFUL;
}但运行这个驱动后,点击可移动磁盘盘符都打不开(不能读),不知为什么?
AllenZh
驱动老牛
驱动老牛
  • 注册日期2001-08-19
  • 最后登录2015-11-27
  • 粉丝19
  • 关注10
  • 积分1316分
  • 威望2387点
  • 贡献值7点
  • 好评度321点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-03-08 16:38
这个主要是用来对USB设备进行控制的,假设当插入USB设备时已能识别并加了标识语句,我现在要做的是只读USB设备(即对可移动磁盘只读),做法是对读写例程中的写请求过滤掉,
代码如下,if(Irp->MainFunction == IRP_MN_WRITE)
{Irp->IoStatus.Status = STATUS_UNSUCCESSFUL;
 Irp->Information = 0;
 IoCompleteRequst(Irp,xxx);
 return STATUS_UNSUCCESSFUL;
}但运行这个驱动后,点击可移动磁盘盘符都打不开(不能读),不知为什么?

你插入U盘,看是否有IRP_MJ_WRITE
1,承接Windows下驱动/应用开发 2,本人原创虚拟鼠标/键盘,触摸屏,虚拟显卡,Mirror驱动,XP无盘的SCSI虚拟磁盘驱动等 3,windows下有尝技术服务(包括BUG调试,员工培训等) 欢迎深圳和海外企业联系.msn:mfczmh@sina.com
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-09 08:53
这个主要是用来对USB设备进行控制的,假设当插入USB设备时已能识别并加了标识语句,我现在要做的是只读USB设备(即对可移动磁盘只读),做法是对读写例程中的写请求过滤掉,
代码如下,if(Irp->MainFunction == IRP_MN_WRITE)
{Irp->IoStatus.Status = STATUS_UNSUCCESSFUL;
 Irp->Information = 0;
 IoCompleteRequst(Irp,xxx);
 return STATUS_UNSUCCESSFUL;
}但运行这个驱动后,点击可移动磁盘盘符都打不开(不能读),不知为什么?

将这个驱动改一下,改成监视IRP_MN_WRITE(咦?这里肯定是写错了,是IRP_MJ_WRITE),看看打开盘符时,用IRP_MJ_WRITE来干什么
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
游客

返回顶部