阅读:2698回复:12
在文件过滤驱动中如何在收到IRP_MJ_CREATE时再创建该文件的一个文件复本?急
比如在d盘上有个文件test.txt,现在当打开这个文件text.txt时,在过滤驱动中有没有办法在e盘上创建这个text.txt文件的一个拷贝?
|
|
沙发#
发布于:2007-03-21 17:44
当然可以,但是这种意图对于大文件几乎是灾难性的后果。
|
|
|
驱动小牛
|
板凳#
发布于:2007-03-21 18:04
引用第1楼devia于2007-03-21 17:44发表的“”: 那可不一定,要看你怎么设计了。 |
|
地板#
发布于:2007-03-22 10:28
老大门,说一说怎么做呀,就当成小文件好了
我现在想知道怎么做呀 |
|
地下室#
发布于:2007-03-22 11:21
简单,在所有的操作完成后,ZwCreateFile ZwWriteFile。这个简单吧!
没有你们想想得那么复杂! |
|
|
5楼#
发布于:2007-03-22 13:22
引用第2楼yandong_8212于2007-03-21 18:04发表的“”: 怎么设计,你还能跳出(Open - > Read -> Write)三界不成。。。 |
|
|
6楼#
发布于:2007-03-22 15:04
ZwCreateFile ZwWriteFile会引起重入问题吧?
还要解决重入问题是吧 |
|
7楼#
发布于:2007-07-12 10:30
引用第1楼devia于2007-03-21 17:44发表的 : 原因何在?大到什么程度? |
|
8楼#
发布于:2007-07-12 11:23
引用第7楼Braveheart3于2007-07-12 10:30发表的 : 假设你的磁盘空间只剩1G空间,你操作一个1.5G的文件,是什么后果? |
|
|
9楼#
发布于:2007-07-12 11:41
引用第8楼looksail于2007-07-12 11:23发表的 : 两个磁盘空间设定差不多,后者写失败,前者也写失败的 你说大文件是你说的那个原因吗? |
|
10楼#
发布于:2007-07-12 13:09
把文件名传到应用层,备份工作让应用层完成!
|
|
11楼#
发布于:2007-08-02 15:42
关键看你想做到什么程度?功能?思路和方法是不一样的。
|
|
12楼#
发布于:2007-10-24 23:35
当用户打开文件读时再处理,可能有点麻烦哦,不如偷懒在create中做
if( DriverLetter=='D') { CreateFile(E:\test.txt); IoBuildSynchronousFsdRequest 读D:\test.txt IoBuildSynchronousFsdRequest 写E:\text.txt close()... }else { pass to Next Device... } |
|