xuye
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2008-05-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:3198回复:7

NT/2k文件监控Driver

楼主#
更多 发布于:2001-06-20 16:18
路大虾及诸位高手:
  你们好.
  我现在NT/2k下做一个监视C盘所有的读文件的driver. 当一个读
IRP过来的时候, 我看到它的Mdlddress和SystemBuffer域是空的.当这个IRP回来的时候(也就是IO管理器调我的完成例程时), 有时候它的IRQL是APC level, 有时候是PASSIVE level. 在APC level时, IRP的MdlAddress域有一个指针, 但如果我引用它, 就会宕机. 请问这时候数据放在什么地方? 如何取得数据?
  谢谢
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2001-06-20 22:42
先看一下FASTFAT的例子吧.
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
xuye
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2008-05-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-06-21 10:38
谢谢!
但不知您说的例子在什么地方?
lu0
lu0
论坛版主
论坛版主
  • 注册日期2001-06-10
  • 最后登录2016-04-05
  • 粉丝2
  • 关注0
  • 积分-6311分
  • 威望21111点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地板#
发布于:2001-06-22 13:11
IFS KIT
Regards, Lu Lin Webmaster of Inside Programming http://www.lu0s1.com
lushan
驱动牛犊
驱动牛犊
  • 注册日期2001-06-26
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-06-26 10:42
#define CdMapUserBuffer(IC, UB) {                                               \
            *(UB) = (PVOID) ( ((IC)->MdlAddress == NULL) ?                 \
                    (IC)->UserBuffer :                                     \
                    (MmGetSystemAddressForMdlSafe( (IC)->MdlAddress, NormalPagePriority)));   \
        }                                                                      


PVOID UserBuffer;

CdMapUserBuffer(Irp, &UserBuffer);

[lushan 编辑于 2001-06-26 10:46]
xuye
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2008-05-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-06-26 11:46
十分感谢! 好象还有新的问题能在向您请叫吗?
xuye
驱动小牛
驱动小牛
  • 注册日期2001-03-23
  • 最后登录2008-05-05
  • 粉丝0
  • 关注0
  • 积分40分
  • 威望4点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-06-26 15:44
像lushan说的那样我试过但根本不行, 有时候获得的数据缓冲区是在fxxxxxxx, 这是一个非法地址. lu0说的fastfat我也看过, 但实在是也没找到如何解决, 那位大虾能帮帮忙!
luojian
驱动牛犊
驱动牛犊
  • 注册日期2001-03-23
  • 最后登录
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-07-09 21:24
sysinternal的filemon文件监视程序的源代码你看过没有?
见:
http://www.sysinternals.com/ntw2k/source/filemon.shtml
游客

返回顶部