smallcat0008
驱动牛犊
驱动牛犊
  • 注册日期2004-08-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分504分
  • 威望62点
  • 贡献值0点
  • 好评度38点
  • 原创分0分
  • 专家分0分
阅读:2698回复:12

在文件过滤驱动中如何在收到IRP_MJ_CREATE时再创建该文件的一个文件复本?急

楼主#
更多 发布于:2007-03-21 15:39
  比如在d盘上有个文件test.txt,现在当打开这个文件text.txt时,在过滤驱动中有没有办法在e盘上创建这个text.txt文件的一个拷贝?
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
沙发#
发布于:2007-03-21 17:44
当然可以,但是这种意图对于大文件几乎是灾难性的后果。
人总在矛盾中徘徊。。。
yandong_8212
驱动小牛
驱动小牛
  • 注册日期2006-07-28
  • 最后登录2011-02-11
  • 粉丝0
  • 关注0
  • 积分1046分
  • 威望464点
  • 贡献值1点
  • 好评度173点
  • 原创分0分
  • 专家分1分
板凳#
发布于:2007-03-21 18:04
引用第1楼devia2007-03-21 17:44发表的“”:
当然可以,但是这种意图对于大文件几乎是灾难性的后果。


那可不一定,要看你怎么设计了。
商务MSN:YanDong_8212@163.com
smallcat0008
驱动牛犊
驱动牛犊
  • 注册日期2004-08-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分504分
  • 威望62点
  • 贡献值0点
  • 好评度38点
  • 原创分0分
  • 专家分0分
地板#
发布于:2007-03-22 10:28
老大门,说一说怎么做呀,就当成小文件好了
我现在想知道怎么做呀
aasa2
驱动中牛
驱动中牛
  • 注册日期2004-04-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分525分
  • 威望339点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-03-22 11:21
简单,在所有的操作完成后,ZwCreateFile ZwWriteFile。这个简单吧!
没有你们想想得那么复杂!
技术交流:aasa2@21cn.com QQ群:10863699
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
5楼#
发布于:2007-03-22 13:22
引用第2楼yandong_82122007-03-21 18:04发表的“”:


那可不一定,要看你怎么设计了。


怎么设计,你还能跳出(Open - > Read -> Write)三界不成。。。
人总在矛盾中徘徊。。。
smallcat0008
驱动牛犊
驱动牛犊
  • 注册日期2004-08-30
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分504分
  • 威望62点
  • 贡献值0点
  • 好评度38点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-03-22 15:04
ZwCreateFile ZwWriteFile会引起重入问题吧?
还要解决重入问题是吧
Braveheart3
驱动牛犊
驱动牛犊
  • 注册日期2005-12-11
  • 最后登录2008-03-31
  • 粉丝0
  • 关注0
  • 积分260分
  • 威望27点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2007-07-12 10:30
引用第1楼devia于2007-03-21 17:44发表的  :
当然可以,但是这种意图对于大文件几乎是灾难性的后果。

原因何在?大到什么程度?
looksail
荣誉会员
荣誉会员
  • 注册日期2005-05-22
  • 最后登录2014-03-15
  • 粉丝2
  • 关注0
  • 积分1016分
  • 威望991点
  • 贡献值0点
  • 好评度239点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-07-12 11:23
引用第7楼Braveheart3于2007-07-12 10:30发表的  :

原因何在?大到什么程度?

假设你的磁盘空间只剩1G空间,你操作一个1.5G的文件,是什么后果?
提问归提问,还是只能靠自己
Braveheart3
驱动牛犊
驱动牛犊
  • 注册日期2005-12-11
  • 最后登录2008-03-31
  • 粉丝0
  • 关注0
  • 积分260分
  • 威望27点
  • 贡献值0点
  • 好评度26点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-07-12 11:41
引用第8楼looksail于2007-07-12 11:23发表的  :

假设你的磁盘空间只剩1G空间,你操作一个1.5G的文件,是什么后果?


两个磁盘空间设定差不多,后者写失败,前者也写失败的

你说大文件是你说的那个原因吗?
lsxredrain
驱动中牛
驱动中牛
  • 注册日期2006-08-31
  • 最后登录2008-10-18
  • 粉丝1
  • 关注0
  • 积分540分
  • 威望421点
  • 贡献值1点
  • 好评度420点
  • 原创分4分
  • 专家分0分
10楼#
发布于:2007-07-12 13:09
把文件名传到应用层,备份工作让应用层完成!
stevphen
驱动牛犊
驱动牛犊
  • 注册日期2003-02-09
  • 最后登录2010-12-03
  • 粉丝0
  • 关注0
  • 积分573分
  • 威望87点
  • 贡献值1点
  • 好评度57点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2007-08-02 15:42
关键看你想做到什么程度?功能?思路和方法是不一样的。
yaolixing
驱动小牛
驱动小牛
  • 注册日期2006-06-27
  • 最后登录2010-07-15
  • 粉丝1
  • 关注0
  • 积分991分
  • 威望135点
  • 贡献值0点
  • 好评度124点
  • 原创分0分
  • 专家分0分
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...
}
游客

返回顶部