liio
驱动小牛
驱动小牛
  • 注册日期2005-12-24
  • 最后登录2022-06-16
  • 粉丝4
  • 关注1
  • 积分24分
  • 威望343点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
阅读:1181回复:5

应用程序给驱动发消息后想到的,很晕人.标题不好表达.达人进来.

楼主#
更多 发布于:2007-01-17 02:01
  应用程序对驱动(文件过滤驱动)发送IO_SETVALUE消息。

ULONG g_lPass = 0;

这个消息会改变驱动的全局变量g_lPass的值为1

请看下面的描述:

这个时候驱动正在处理系统的IRP_MJ_CREATE。具体处于

case IRP_MJ_CREATE:

LogOut(".....");          --->具体就运行在这个函数内,

if(g_lPass == 1)         ---->运行到这里时IO_SETVALUE对g_lPass的修改有效吗?
{
...........
}

还是等到IRP_MJ_CREATE挂接例程返回后才会有效?

晕了。晕了。天和地都要分不清了
GNiDiA
驱动小牛
驱动小牛
  • 注册日期2006-10-11
  • 最后登录2017-10-09
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望145点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2007-01-22 10:26
能得到处理,只要不是同一个DEVICE_OBJECT
liio
驱动小牛
驱动小牛
  • 注册日期2005-12-24
  • 最后登录2022-06-16
  • 粉丝4
  • 关注1
  • 积分24分
  • 威望343点
  • 贡献值0点
  • 好评度171点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2007-01-18 09:13
谢谢大家的解说,
那么在处理IRP_MJ_CREATE的消息时,自己的IO消息能得到处理么?
zh002008
驱动牛犊
驱动牛犊
  • 注册日期2004-08-22
  • 最后登录2013-09-06
  • 粉丝1
  • 关注1
  • 积分545分
  • 威望155点
  • 贡献值0点
  • 好评度51点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-01-17 23:24
在文件操作层,IRP可以看作最小的操作单位,IRP_MJ_CREATE和IO_SETVALUE操作正常情况不会被中断。
fatmouse527
驱动牛犊
驱动牛犊
  • 注册日期2006-12-27
  • 最后登录2009-04-10
  • 粉丝1
  • 关注0
  • 积分347分
  • 威望85点
  • 贡献值0点
  • 好评度81点
  • 原创分1分
  • 专家分0分
地下室#
发布于:2007-01-17 12:11
应该用效,看一下Filemon的例下,它就可以改变filteron的值来控制是否过滤
驱网无线,快乐无限
rayyang2000
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2012-09-13
  • 粉丝3
  • 关注0
  • 积分1036分
  • 威望925点
  • 贡献值3点
  • 好评度823点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2007-01-17 12:09
不知所云
天天coding-debugging中----超稀饭memory dump file ======================================================== [b]Windows Device Driver Development and Consulting Service[/b] [color=blue][url]http://www.ybwork.com[/url][/color] ========================================================
游客

返回顶部