victorliuhao
驱动牛犊
驱动牛犊
  • 注册日期2006-09-25
  • 最后登录2009-05-15
  • 粉丝0
  • 关注0
  • 积分191分
  • 威望76点
  • 贡献值0点
  • 好评度41点
  • 原创分0分
  • 专家分0分
阅读:2274回复:9

如何禁止创建一个文件呢?

楼主#
更多 发布于:2007-05-24 17:07
如题,如何在IRP_MJ_CREATE里做些修改呢?请教各位达人

最新喜欢:

rhpengrhpeng
test001
驱动小牛
驱动小牛
  • 注册日期2006-11-12
  • 最后登录2008-11-07
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望170点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-05-26 11:40
devia大侠已经给出了问题的原因!
devia
论坛版主
论坛版主
  • 注册日期2005-05-14
  • 最后登录2016-04-05
  • 粉丝3
  • 关注0
  • 积分1029分
  • 威望712点
  • 贡献值1点
  • 好评度555点
  • 原创分8分
  • 专家分4分
板凳#
发布于:2007-05-25 14:54
人总在矛盾中徘徊。。。
shenhui
驱动小牛
驱动小牛
  • 注册日期2006-05-11
  • 最后登录2023-02-10
  • 粉丝14
  • 关注11
  • 积分142分
  • 威望1314点
  • 贡献值1点
  • 好评度146点
  • 原创分0分
  • 专家分1分
  • 社区居民
地板#
发布于:2007-05-25 12:24
我只判断了CreateDisposition==FILE_CREATE,用菜单新建文件和文件夹是可以拒绝的,而且不会出现你说的情况。其他的代码和你的一样。
作一名真实,诚实,优秀的科技工作者!
test001
驱动小牛
驱动小牛
  • 注册日期2006-11-12
  • 最后登录2008-11-07
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望170点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2007-05-25 09:13
引用第5楼shenhui于2007-05-24 23:08发表的  :
在SfCreate中直接完成IRP,应该是可以的,这个我试过

我也实在create中完成IRP德,可是为什么不行?
麻烦你帮我看看我的代码有什么问题吗?
谢谢!!!
代码如下:
CreateDisposition = (irpSp->Parameters.Create.Options>> 24) & 0x000000ff;
if(CreateDisposition==FILE_CREATE||CreateDisposition==FILE_OPEN_IF||CreateDisposition==FILE_OVERWRITE_IF)
{
    DbgPrint("==================当前是一个新建文件的操作!!!======================\n");
    Irp->IoStatus.Status = STATUS_ACCESS_DENIED;
    Irp->IoStatus.Information = 0;
    status = Irp->IoStatus.Status;
    IoCompleteRequest(Irp, IO_NO_INCREMENT);
    return STATUS_ACCESS_DENIED;
}

驱动加载后,会出现以下的问题:
(1)在指定的文件夹新建文件夹时,系统也提示“无法创建文件夹,拒绝访问”,但是系统还是会新建文件夹,而且新建的文件夹无法访问;
(2)在指定的文件夹新建文件时,系统也提示“无法创建文件,文件存在”,但是系统还是会999个新建文件,而且新建的文件无法访问。
shenhui
驱动小牛
驱动小牛
  • 注册日期2006-05-11
  • 最后登录2023-02-10
  • 粉丝14
  • 关注11
  • 积分142分
  • 威望1314点
  • 贡献值1点
  • 好评度146点
  • 原创分0分
  • 专家分1分
  • 社区居民
5楼#
发布于:2007-05-24 23:08
在SfCreate中直接完成IRP,应该是可以的,这个我试过
作一名真实,诚实,优秀的科技工作者!
test001
驱动小牛
驱动小牛
  • 注册日期2006-11-12
  • 最后登录2008-11-07
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望170点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2007-05-24 18:47
引用第3楼yandong_8212于2007-05-24 18:42发表的  :
自己的问题,研究SFILTER


能说的详细点吗?
yandong_8212
驱动小牛
驱动小牛
  • 注册日期2006-07-28
  • 最后登录2011-02-11
  • 粉丝0
  • 关注0
  • 积分1046分
  • 威望464点
  • 贡献值1点
  • 好评度173点
  • 原创分0分
  • 专家分1分
7楼#
发布于:2007-05-24 18:42
自己的问题,研究SFILTER
商务MSN:YanDong_8212@163.com
test001
驱动小牛
驱动小牛
  • 注册日期2006-11-12
  • 最后登录2008-11-07
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望170点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2007-05-24 17:17
我在create中采取相应的措施后,照样能够新建文件,而且新建的文件不能被访问,真是郁闷!!!
test001
驱动小牛
驱动小牛
  • 注册日期2006-11-12
  • 最后登录2008-11-07
  • 粉丝0
  • 关注0
  • 积分990分
  • 威望170点
  • 贡献值0点
  • 好评度169点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2007-05-24 17:16
同问!!!
游客

返回顶部