阅读:2344回复:18
2000下如何安装sfilter无法启动问题?
ifs ddk 2003无论利用Windows 2000 Checked Build Environment
还是Windows 2000 Free Build Environment make出来的没有修改过的sfilter例子 但是在windows2000(SP4)下(都是FAT32磁盘)安装后就没有反应了 使用和filemon一样的动态加载,提示997错误。 而在windowsXP一切正常 那位大大麻烦解释一下? |
|
沙发#
发布于:2007-05-22 22:10
如果没有猜错的话,你的驱动名不符合8.3
|
|
板凳#
发布于:2007-05-22 22:32
引用第1楼ai3000于2007-05-22 22:10发表的 : 怎样才算符合8.3呢? 我安装路径是在H:\filesys\myfilter 我的驱动名称是sfilter.sys 系统驱动路径是 c:\winnt\system32\drivers 没有哪边不符合8.3呀 filemon就没问题 不解中 |
|
地板#
发布于:2007-05-22 22:51
感觉问题重点不在安装,利用相同的程序启动filemon的sys也有问题
但是filemon的sys完全可以正常运作 搞不清问题出在哪里 |
|
地下室#
发布于:2007-05-22 23:12
使用inf静态安装也提示安装失败,暂时不知道怎么回事了
是否有大大在windows2000下成功过? |
|
5楼#
发布于:2007-05-23 09:31
干吗不自己调试,在sfilter加一些打印,然后开着DbgView,然后加载sfilter,仔细调试,自然就可以看到结果了。这里有一个程序可以帮助你在不重新启动的情况下加载sfilter驱动:
http://bbs.driverdevelop.com/htm_data/39/0705/102081.html |
|
6楼#
发布于:2007-05-23 09:33
多谢5楼
问题就在于连DirverEntry的debug都打不出来,如何调试? |
|
7楼#
发布于:2007-05-23 09:37
我不知道sfilter能不能成功卸载,你先把注册表里的Sfitler信息删除,然后重新启动,确保Sfilter还没加载,这个时候先打开DbgView,然后在dos窗口下执行lddriver -i Sfilter c:\sfilter\sfilter.sys,c:\sfilter\sfilter.sys要看你的文件放在哪里,自己修改路径。这样就可以看到DriverEntry打印的消息了,只是你的打印要放开,或者自己添加的打印用DbgPrint来做。
|
|
8楼#
发布于:2007-05-23 10:22
load driver failed.
然后DbgView没有任何相关的东西 所以很茫然,不知道从哪里下手 |
|
9楼#
发布于:2007-05-23 10:25
应该不会,DriverEntry一般都会执行的。确保lddriver -i Sfilter ...。这个Sfilter驱动名字注意大小写。
|
|
10楼#
发布于:2007-05-23 10:26
再不行,你可以修改lddriver程序,看看哪一步失败,然后查看原因。
|
|
11楼#
发布于:2007-05-23 14:38
非常感觉xiexiecn的热心
lddriver 类似的程序我也参照filemon写了一个 lddriver我修改了一下,把每一步的错误都打出来 发现是在StartService时出错,错误号是2 命令行是这么写的D:\driverloader>lddriver -i Sfilter Sfilter.sys 大小写也抄上来了 C:\WINNT\system32\drivers\Sfilter.sys 下文件存在 D:\driverloader\Sfilter.sys 文件存在 Sfilter是Windows 2000 Checked Build Environment build出来的 同样的方法使用filem.sys就没问题(不是我build的) 难道build的问题?到底该怎么build? 还是大小写问题(都试过)? Sfilter例子没有改动过也是一样的结果 |
|
12楼#
发布于:2007-05-23 15:09
兄弟你看帖子不仔细,最后一个参数要用DriverFullPath,就是说要写完整路径,就算在当前目录下也一样,也要从盘符开始写,比如c:\sfilter\sfilter.sys。
|
|
13楼#
发布于:2007-05-23 15:35
多谢xiexiecn
其实我所有的路径的大小写都试过了,是一样的结果 无论是 D:\driverloader>lddriver -i D:\driverloader\Sfilter.sys 还是 D:\driverloader>lddriver -i C:\WINNT\system32\drivers\Sfilter.sys 结果都是同样的错误代码2 |
|
14楼#
发布于:2007-05-23 15:38
Windows 2000 Checked Build Environment build
make的 已经在多台2000机器上测试,都不成功 但是不知道从什么地方出了问题 |
|
|
15楼#
发布于:2007-05-23 15:46
问题已经解决,多谢xiexiecn
只有在彻底反安装后,保证system32\drivers目录下没有Sfilter.sys的情况下 可以顺利安装执行了 再次感谢xiexiecn的耐心帮助 |
|
16楼#
发布于:2007-05-23 15:47
厄...那我就不知道了。现在你的问题是还没进入驱动里面去,这个和你的代码没有关系,我这里用的是xp,用lddriver加载sfilter没有任何问题。其实只要抓住问题的症结,应该很容易解决的,要广开思路,一个路子不通可以换条路走。比如你可以用lddriver加载别的驱动试试看是什么情况,比如filedisk(这个网上可以下载),或者用Vmware装一个xp试试看。
|
|
17楼#
发布于:2007-05-23 15:56
引用第16楼xiexiecn于2007-05-23 15:47发表的 : 确实试filem.sys是可以的,因为当时filem.sys没有复制到drivers目录下 xp我也试过,没有任何问题,所以才会抓狂 我是在xp下开发已经成功了,突然到2000下测试就没成功过(使用filemon的加载代码) 所以才会感觉束手无策 所以才刚刚发现是xp复制了sys到drivers目录下没问题,但是2000就有问题 另:感觉lddriver卸载驱动有问题(2000下) |
|
18楼#
发布于:2007-05-23 16:16
我没试过卸载,lddriver是以前写的一个小程序,卸载功能有没有问题忘了,或许是sfilter卸载函数没写好。今天看到devia发了一些工具,里面有个加载卸载驱动的,可能比较好用。
|
|