wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
20楼#
发布于:2005-04-20 10:16
同意paladinii的观点.
我测试了下,的确是匹配的问题,我不知道你们是如何确定他能匹配的,至少我测试下来是不对的.你可以测试把比较的例子放到COMPLETE以后再判断,虽然CREATE成功,但你返回DENIED的话,还是可以禁止目录的访问.
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
keyia
驱动牛犊
驱动牛犊
  • 注册日期2005-03-16
  • 最后登录2008-06-16
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2005-05-23 16:28
用RtlCompareUnicodeString试试看,我测试过了是可以的。
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
22楼#
发布于:2005-06-08 11:12
我的带有禁止文件夹访问的驱动跑了几年了。还是那句话仔细跟踪你的文件路径,如果驱动匹配规则没有问题就是你获取的路径不是当前访问的。有可能是之前的。如果你一心认为Irp->IoStatus.Status = STATUS_ACCESS_DENIED;
Irp->IoStatus.Information = 0;
IoCompleteRequest(Irp, IO_NO_INCREMENT);

这个有问题,我的回复就到此为止了。


对文件可以拦截。但是对文件夹,匹配成功了,但栏不住,不知道“如果驱动匹配规则没有问题就是你获取的路径不是当前访问的”是什么含义
琢磨悟真知
wywwwl
驱动大牛
驱动大牛
  • 注册日期2002-08-16
  • 最后登录2018-04-07
  • 粉丝1
  • 关注0
  • 积分-10分
  • 威望135点
  • 贡献值6点
  • 好评度76点
  • 原创分0分
  • 专家分0分
  • 社区居民
23楼#
发布于:2005-06-08 14:47
[quote]我的带有禁止文件夹访问的驱动跑了几年了。还是那句话仔细跟踪你的文件路径,如果驱动匹配规则没有问题就是你获取的路径不是当前访问的。有可能是之前的。如果你一心认为Irp->IoStatus.Status = STATUS_ACCESS_DENIED;
Irp->IoStatus.Information = 0;
IoCompleteRequest(Irp, IO_NO_INCREMENT);

这个有问题,我的回复就到此为止了。


对文件可以拦截。但是对文件夹,匹配成功了,但栏不住,不知道“如果驱动匹配规则没有问题就是你获取的路径不是当前访问的”是什么含义 [/quote]

对文件夹 的拦截我只能 在IRP_MJ_DIRECTORY_CONTROL里面拦截,在IRP_MJ_CREATE中栏不住。我是没拦住!有拦住的吗,发点code看看
琢磨悟真知
chacker
驱动小牛
驱动小牛
  • 注册日期2002-11-22
  • 最后登录2007-11-15
  • 粉丝0
  • 关注0
  • 积分193分
  • 威望20点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2005-06-21 22:02
我也试过,是那句判断语句错误,不过我在2003里测试,所有目录都拒绝访问....
chacker
驱动小牛
驱动小牛
  • 注册日期2002-11-22
  • 最后登录2007-11-15
  • 粉丝0
  • 关注0
  • 积分193分
  • 威望20点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2005-06-21 22:13
下面是引用paladinii于2005-03-23 12:42发表的:
if (_stricmp(fileName.Buffer, "\\Device\\HarddiskVolume2\\office") == 0)

你的_stricmp有问题,试试 _wcsicmp( fileName.Buffer, L"\\Device\\HarddiskVolume2\\office" )
另外,不知道你用的sfilter使什么版本的?SfGetFileName函数有些Bug


请问,我试过改为你那一句,一样变成所有目录禁止访问,有这方面的例子吗?谢谢
上一页 下一页
游客

返回顶部