阅读:1864回复:9
9x ifs 如何在文件写入前读取源文件内容??
9x ifs 如何在文件写入前读取源文件内容??
|
|
|
沙发#
发布于:2003-10-06 11:55
这个时候你可以取得这个文件句柄,通过pir可以取得读这个文件的函数的指针。这样你就可以直接调用PrevIFSHookProc来读取这个文件的内容了。
不过这有个前提就是这个文件必须是以读写方式打开的。 你可以在IFSFN_OPEN的时候把所有以只写打开文件的请求改成可读可写就不存在这个问题了。 |
|
板凳#
发布于:2003-10-06 12:08
有2个问题:
1. PreIfsHookProc需要的不仅仅是句柄,事实上,这种方法是要构造出一个ior包出来 2。文件读取一步情况下,不会立即得到读取内容, 不知道else兄是不是试过这个做法阿 |
|
|
地板#
发布于:2003-10-06 12:19
我试过,完全可行。
你把Write的ioreq,Copy一份出来然后改改里面的参数就可以构造出一个Read的Ioreq 这样做有个好处就是没有任何重入的问题 [编辑 - 10/6/03 by else] |
|
地下室#
发布于:2003-10-06 12:37
那么异步返回怎么处理呢
|
|
|
5楼#
发布于:2003-10-09 14:42
else,为什么我将写请求改为读请求,同时将ifsreq结构中的功能好改为读,发出请求后,执行的操作还是写操作
|
|
|
6楼#
发布于:2003-10-09 20:15
读和写实际上是由fsd的不同的routine来做的,记得ifs hook里面在每个请求的时候都指定了那个routine的address。
很久以前做过,细节记不清了,可能需要你修改那个address,把write的routine改为read的。 很久不做ifs了,可能不正确,仅供参考 :D |
|
|
7楼#
发布于:2003-10-09 20:57
谢谢关注奥,先给点分,
我也觉得可能是例程给定了,明天试试去 |
|
|
8楼#
发布于:2003-10-10 00:03
Read函数的地址就在ioreq结构里面
|
|
9楼#
发布于:2003-10-10 19:54
问题解决,呵呵,好高兴啊,谢谢大家的帮助奥,还有分怎么散啊
|
|
|