阅读:1445回复:6
高手进来看看,帮帮忙,sfilter 中的问题。
第一次写过滤驱动,只学了几天,大家见笑。
我改写和编译了vista wdk 的sfilter,使用vmware+windbg调试。通过windbg中的调试信息和设置断点发现了些奇怪现象,一直不解。 1:vmware(windows 2000 server)只有C磁盘,和光驱,当我用notepad打开C盘一个文件时,IRP_MJ_READ和fastio中FastIoRead对应的函数都不调用 但是用notepad打开光驱中的文件时IRP_MJ_READ对应的函数就会触发,而且我也可以通过设置完成函数取到读到的文件数据。实在不明白为什么。 2:notepad打开C盘一个文件时,在IRP_MJ_CREATE中得到文件路径总是\Device\LanmanRedirector,我想是vmware和我机器通讯要打开吧。 但是打开光驱文件时则回读到文件名。不解 3:为了读到C盘打开文件的路径,我自己写了个小程序,放到vmware中,里面只是打开并且读写(createfile,readfile)文件,但是IRP_MJ_CREATE和IRP_MJ_READ 都不触发,不解,难道是vmware的问题,必须用真实的机器用串口连接调试。 请有经验的帮帮忙。 |
|
沙发#
发布于:2008-10-16 09:51
up up
|
|
板凳#
发布于:2008-10-22 13:20
up up
|
|
地板#
发布于:2008-10-22 13:22
难道此论坛都是些新手
|
|
地下室#
发布于:2008-10-29 14:07
给你两个建议:
1. 首先检查一下你的调试环境是否存在问题? 2. 找个工具,检测一下你的驱动是否,正确挂接到操作系统文件系统上了 ? |
|
5楼#
发布于:2008-10-31 09:09
给你一个建议,
自己写个FileMOn |
|
|
6楼#
发布于:2008-11-07 00:36
晕,看完问题,我不知道怎么给建议
|
|
|