是不是在改动前后还要做什么?直接改会兰屏。还有,在filemon的filemonhookroutine的IRP_MJ_READ里IrpSp->Parameters.Read.Length是文件长度吗?怎么这个数字那么大?
回复(18) 2002-04-18 22:21 来自版块 - 内核编程
表情
macy用户被禁言,该主题自动屏蔽!(2002-04-20 14:43)
pjf使用UserBuffer必须在调用者应用的线程环境中,只有你的驱动在最顶层并且使用处是在Dispatch例程中才能得到这个保证。 若你的程序满足以上条件,才是编程中出的错。 good luck(2002-04-20 08:14)
guardee还有就是你的这个代码不严格,因为你处理的是写,而使用的是读的结构 虽然在_IO_STACK_LOCATION结构里面这两个极其其他一些结构是一个联合 但是这样的代码不严格! 当你要拦截读的时候要使用到的是_IO_STACK_LOCATION里面的Parameters里面的R...(2002-04-19 21:51)
guardee还有一个就是你访问的地方是缓冲区之外的了!我怎么看都看不懂 pBuffer= Irp->UserBuffer; pBuffer += offset.LowPart; Length = currentIrpStack->Parameters.Read.Leng...(2002-04-19 21:47)
guardee错误地方用???代表 你的偏移声明不对啊!因为偏移是LARGE_INTEGER类型的 filemonhookroutine(......) { ... PCHAR pBuffer; ??? ULONG offset, Length; ... sw...(2002-04-19 21:40)
macy用户被禁言,该主题自动屏蔽!(2002-04-19 17:46)
guardee你还是把你的那部分代码贴出来吧!这样比较好找错误!(2002-04-19 17:14)
macy用户被禁言,该主题自动屏蔽!(2002-04-19 16:11)
zhch111你把那段代码贴出来,看你用的是什么方式,然后就可以提建议了嘛(2002-04-19 15:39)
zydcat看你的情况,象是第三种, 我没有做过 你可以先将缓冲区锁定后,再试着改动。(2002-04-19 15:27)

返回顶部