请问?保护文件不被改写,应该在什么地方处理,在IRP_MJ_WRITE处可以吗?如果可以,该如何处理延迟写的问题?如果修改文件为只读,该如何处理?另外,那位大虾能告诉我如何判断一个FILEOBJECT代表的是一个文件OR DIR,在什么时候纪录最好?我保护c:\\test\\下的...
全文
回复(11) 2002-04-29 19:13 来自版块 - 内核编程
表情
zdheNT/2K/XP确实如此. 把文件改为只读也能RENAME. 如果想禁止RENAME,按LU0的方法做没错. 只不过不要简单的理解为,对于文件打开, IRP_MJ_CREATE时将写权去除.对与DIR OPEN时的IRP_MJ_CREATE也是一样. 嘻嘻,不过, 如...(2002-05-04 17:16)
soso我感觉没有什么方法是有效的。除了DOS状态之外,即使在Windows启动的条件下,你也可以通过ren命令将文件重新命名,之后就随你操作了。 从前我在处理某些系统文件无法改写时就用这个方法。(2002-05-03 20:21)
zdheSupermi的说法不完全好. ---------------- FASTIO的处理不应该RETURN FALSE. 应该把IOSTATUS 设置成CANCEL,然后RETURN TRUE. 这样才有效率. RETURN FALSE 不过是让系统去生成新的I...(2002-05-01 22:17)
macy用户被禁言,该主题自动屏蔽!(2002-05-01 22:05)
Supermi忘了说一点 注意 , FAST――IO――WRITE 取消它,(就是简单的返回FALSE) 切记:2K 中的文件驱动必须有 FAST――IO 系列的28个函数,你可以不对该函数作些什么,但一定要声明,并记入你的DRIVER OBJECT 中, 这样WIN NT 才能找到你的...(2002-05-01 04:43)
Supermi 1。想知道该文件是否是一个目录,只要构建自己的IRP查询该文件的 BASIC―INFORMATION还是STANDARD――INFORMATION(记不清了),反正两个结构中有一个结构里有一项IS――DIRECTORY,检查它是真是假即可 (也可以使用 ZwQueryFi...(2002-05-01 04:35)
lu0最简单的是在IRP_MJ_CREATE时将写权去除.(2002-04-30 19:56)
macy用户被禁言,该主题自动屏蔽!(2002-04-30 14:57)
du_lin这着我也想过,可是总觉得有一点怪,能不能写到别的地方,这样写请求就完成了,我也是瞎猜的:)(2002-04-30 11:13)
Alexander瞎说,不一定对: 从开机开始用非共享方式打开该文件一直到关机,不就成了嘛。(2002-04-29 23:04)

返回顶部