lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
阅读:1194回复:7

tooflat 大侠请进

楼主#
更多 发布于:2005-01-17 09:12

还是访问querybuffer 时提示 Access Violation
windbg 跟踪发现,开始的一些IRP没问题,后来的IRP当执行到
       offset = QueryBuffer->NextEntryOffset;

  if ((QueryBuffer->FileNameLength > 0) && (_wcsicmp(QueryBuffer->FileName, file) == 0))
时提示 Access Violation

再执行下去,一会蓝屏,不知为什么?

这是源码,请帮忙看以下
附件名称/大小 下载次数 最后更新
2005-01-17_sfilter.c (93KB)  25

最新喜欢:

LeopardLeopar...
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-01-17 12:15
不清楚,自己跟踪一下QueryBuffer的地址是怎么变化的
再和Irp->UserBuffer+IrpSp->Parameters.QueryFile.Length的值比较一下

[编辑 -  1/17/05 by  tooflat]
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-01-17 15:29
能参考以下你的  这段  隐藏文件(夹)的代码 吗?
lhzh114@yahoo.com.cn
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-01-18 14:16
fda
附件名称/大小 下载次数 最后更新
2005-01-18_1.c (6KB)  26
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-01-19 21:09
OS: WIN2000
IFS Kit 2000
sfilter.c 为2000版本下的

还是蓝屏!!!!!!!!!!!!!!!!!
不知是因为这吗?
ULONG dwID = (ULONG)PsGetCurrentProcessId();
if ((g_MyProcessID != 0) && (g_MyProcessID == dwID))
{
return SfPassThrough(pDevObj, Irp);
}
当 当前线程 和 我的 线程 相同时 返回 sfpassthrough 吗?

在那设定 捕获 g_MyProcessID 呢?什么意思呢?
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-01-19 22:37
有问题请教,可以吗?

ericlau114@hotmail.com
lhzh114
驱动牛犊
驱动牛犊
  • 注册日期2004-02-20
  • 最后登录2008-12-27
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望37点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-01-20 09:11
终于可以了!多谢tooflat大侠!给分了

在资源管理器中查看,第一次打开时test.txt已隐藏,当点击别的文件夹后再返回后 又显示了?需要刷新才能隐藏
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-01-20 10:20
你的比较有问题
if ((QueryBuffer->FileNameLength > 0) && (_wcsicmp(QueryBuffer->FileName, file) == 0))

QueryBuffer->FileName不是NULL结尾的,所以应该这样
_wcsnicmp(QueryBuffer->FileName, file, QueryBuffer->FileNameLength / sizeof(WCHAR)) == 0
游客

返回顶部