cat5
驱动牛犊
驱动牛犊
  • 注册日期2002-07-19
  • 最后登录2002-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:4319回复:29

我实在是很急,高分奉送!

楼主#
更多 发布于:2002-08-02 12:26
我的程序是在2000DDK中kbfiltr基础上进行修改的(改得不多),可以CreateFile()取得驱动handle,但始终无法用DeviceIoControl()与驱动取得联系,我仔细看了看实在发现不了任何问题,烦请哪位高手帮我看看代码,我愿把我所有分奉上!有意者请留下E-mail,我把代码给您发过去。

最新喜欢:

yeaipingyeaipi...
rain0412
驱动牛犊
驱动牛犊
  • 注册日期2006-01-23
  • 最后登录2012-08-18
  • 粉丝0
  • 关注0
  • 积分17分
  • 威望201点
  • 贡献值0点
  • 好评度42点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-09-11 16:55
我也遇到了这个问题,帮帮忙了
wangxdong
驱动小牛
驱动小牛
  • 注册日期2002-07-08
  • 最后登录2003-01-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-08-05 17:17
我觉得过滤驱动已经附着在低层驱动上了,不是独立的设备,所以不能直接打开,是否要直接打开低层驱动设备?
请多多指教!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-08-05 12:57
帮你调试是没有问题的
我的mail收到了吧,
你的驱动在我这安装有问题,
我用了一个安装过滤驱动的工具,结果装上后键盘就失灵了

只好重新ghost

你发个mail给我,说清楚你安装的步骤
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
cat5
驱动牛犊
驱动牛犊
  • 注册日期2002-07-19
  • 最后登录2002-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-08-05 12:43
zydcat能不能麻烦你帮我调试一下,我试了你说的还是不行。
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2002-08-04 11:39
就是说你的KbFilter_IoCtl能拦截到很多irp,有的是你发的,有的是别的程序什么的发的,所以你的可以完成,别的要发到下层驱动去
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
cat5
驱动牛犊
驱动牛犊
  • 注册日期2002-07-19
  • 最后登录2002-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2002-08-03 16:46
zydcat:我用softice跟踪了一下,发现我用DeviceIoControl发送的控制码根本没有被KbFilter_IoCtl接收。还有您说不是我自己处理的irp是什么意思,明明是我自己处理的呀。
ldljlzw@163.com:我星期一上班就给您发,谢谢您!
eqinzm:有哪些错误啊,可否指出,请赐教!
eqinzm
驱动牛犊
驱动牛犊
  • 注册日期2001-10-18
  • 最后登录2018-05-29
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度10点
  • 原创分0分
  • 专家分0分
  • 社区居民
7楼#
发布于:2002-08-03 12:44
上面代码有很多问题
Hi
ldljlzw
驱动中牛
驱动中牛
  • 注册日期2002-03-16
  • 最后登录2014-01-02
  • 粉丝1
  • 关注0
  • 积分1021分
  • 威望372点
  • 贡献值0点
  • 好评度187点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2002-08-03 12:37
我的信箱是ldljlzw@163.com

给一份给我,我也来看看,OK!!!!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2002-08-03 10:24
另外,不是你自己的处理的irp,也不能调用IoCompleteRequest(Irp, IO_NO_INCREMENT);
否则会出问题
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2002-08-03 10:21
我看了一下代码,觉得KbFilter_IoCtl有些问题,

它除了会拦截你自己ioctrl码,应该也会过滤所有的发往键盘驱动的主功能码是IRP_MJ_DEVICE_CONTROL的irp,
所以应该在default中调用KbFilter_DispatchPassThrough,这样会把你不处理的irp传下去

过滤驱动我也不太熟,以上只是猜测,还没有试

[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2002-08-03 10:13
DriverObject->MajorFunction [IRP_MJ_DEVICE_CONTROL] = KbFilter_IoCtl;

老鼠,IRP_MJ_DEVICE_CONTROL有呀
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
guardee
驱动巨牛
驱动巨牛
  • 注册日期2002-11-08
  • 最后登录2010-05-29
  • 粉丝2
  • 关注1
  • 积分2分
  • 威望34点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2002-08-02 20:39
呵呵!你的初始化函数里面不应该是IRP_MJ_INTERNAL_DEVICE_CONTROL
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
13楼#
发布于:2002-08-02 16:54
lydmusic@163.net
Tom_lyd
cat5
驱动牛犊
驱动牛犊
  • 注册日期2002-07-19
  • 最后登录2002-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2002-08-02 14:26
好的,您的e-mail:??
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2002-08-02 14:17
我也曾遇到过DeviceIoContorl返回1的错误,我的错误原因是定义IOCTL CODE时的第一个参数不统一,即驱动程序和应用程序中的值不一样。不过看你的问题好象不是这个问题。
要不把代码发过来看看吧!
Tom_lyd
cat5
驱动牛犊
驱动牛犊
  • 注册日期2002-07-19
  • 最后登录2002-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2002-08-02 14:17
ok,请查收,3X!
zydcat
驱动老牛
驱动老牛
  • 注册日期2001-12-06
  • 最后登录2006-04-12
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2002-08-02 14:07
你把你的代码发一份给我吧

zydcat@163.com
[color=red]肥虫虫[/color] [img]http://www.driverdevelop.com/forum/upload/bradley/2002-11-15_ig01.gif[/img]
cat5
驱动牛犊
驱动牛犊
  • 注册日期2002-07-19
  • 最后登录2002-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2002-08-02 13:45
我试了缓冲区怎么改都不行,GetLastError()都是返回1
cat5
驱动牛犊
驱动牛犊
  • 注册日期2002-07-19
  • 最后登录2002-12-12
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2002-08-02 13:43
我是用设备管理器安装的。另外我想,我把中间4个参数都设成0应该没问题吧。
上一页
游客

返回顶部