阅读:1527回复:8
询问是否可以让IRP挂起,执行完其他IRP以后,再执行这个IRP具体是这样的: 假如系统读一个文件a.exe,在收到read的irp的时候,暂时不能作出操作,然后将这个文件a.exe经过一个MD5算法的计算,按得到的值决定是否允许前面最开始的read是否允许操作。 因为在计算这个文件a.exe的时候,需要再次读取这个文件,也会产生read的IRP。 我不知道,后面的readIRP完成以后,可以不可以再让前面的readIRP完成。会不会产生什么不良影响。 我是一个驱动新手,所以才有这样的问题,主要是自己对IRP理解还不好,但我确实不确定上面的是否是对的,是否不会产生影响。 这个问题关系到我的一个测试,希望能得到大家的帮助,,感谢大家了,,,谢谢!! |
|
沙发#
发布于:2008-02-23 00:39
我也有这样的一个问题,解决不了.正在看programming WDM,里面第五章里IRP处理的"标准模型"讲的太复杂了,但是应该能解决这个问题.
不知道哪位高手帮忙解决一下. |
|
板凳#
发布于:2008-02-23 22:24
上次回复没有成功,现在再试试:
create irp必须在发起create的线程上下文中处理。 |
|
地板#
发布于:2008-02-23 23:54
这个重入问题,可以参考Shadow Device的方案
|
|
地下室#
发布于:2008-02-25 09:11
引用第2楼tooflat于2008-02-23 22:24发表的 : 回错贴了,:( |
|
5楼#
发布于:2008-02-25 10:30
完全可以这么做~和重入无关~
相当于irp的审计。 |
|
6楼#
发布于:2008-02-25 11:02
|
|
|
驱动小牛
|
7楼#
发布于:2008-02-27 17:13
发到下层驱动去就不会有重入.
|
|
8楼#
发布于:2008-03-07 11:26
完全是可以的
|
|
|