阅读:4319回复:29
我实在是很急,高分奉送!
我的程序是在2000DDK中kbfiltr基础上进行修改的(改得不多),可以CreateFile()取得驱动handle,但始终无法用DeviceIoControl()与驱动取得联系,我仔细看了看实在发现不了任何问题,烦请哪位高手帮我看看代码,我愿把我所有分奉上!有意者请留下E-mail,我把代码给您发过去。
|
|
最新喜欢:![]() |
沙发#
发布于:2008-09-11 16:55
我也遇到了这个问题,帮帮忙了
|
|
板凳#
发布于:2002-08-05 17:17
我觉得过滤驱动已经附着在低层驱动上了,不是独立的设备,所以不能直接打开,是否要直接打开低层驱动设备?
|
|
|
地板#
发布于:2002-08-05 12:57
帮你调试是没有问题的
我的mail收到了吧, 你的驱动在我这安装有问题, 我用了一个安装过滤驱动的工具,结果装上后键盘就失灵了 只好重新ghost 你发个mail给我,说清楚你安装的步骤 |
|
|
地下室#
发布于:2002-08-05 12:43
zydcat能不能麻烦你帮我调试一下,我试了你说的还是不行。
|
|
5楼#
发布于:2002-08-04 11:39
就是说你的KbFilter_IoCtl能拦截到很多irp,有的是你发的,有的是别的程序什么的发的,所以你的可以完成,别的要发到下层驱动去
|
|
|
6楼#
发布于:2002-08-03 16:46
zydcat:我用softice跟踪了一下,发现我用DeviceIoControl发送的控制码根本没有被KbFilter_IoCtl接收。还有您说不是我自己处理的irp是什么意思,明明是我自己处理的呀。
ldljlzw@163.com:我星期一上班就给您发,谢谢您! eqinzm:有哪些错误啊,可否指出,请赐教! |
|
7楼#
发布于:2002-08-03 12:44
上面代码有很多问题
|
|
|
8楼#
发布于:2002-08-03 12:37
我的信箱是ldljlzw@163.com
给一份给我,我也来看看,OK!!!! |
|
9楼#
发布于:2002-08-03 10:24
另外,不是你自己的处理的irp,也不能调用IoCompleteRequest(Irp, IO_NO_INCREMENT);
否则会出问题 |
|
|
10楼#
发布于:2002-08-03 10:21
我看了一下代码,觉得KbFilter_IoCtl有些问题,
它除了会拦截你自己ioctrl码,应该也会过滤所有的发往键盘驱动的主功能码是IRP_MJ_DEVICE_CONTROL的irp, 所以应该在default中调用KbFilter_DispatchPassThrough,这样会把你不处理的irp传下去 过滤驱动我也不太熟,以上只是猜测,还没有试 |
|
|
11楼#
发布于:2002-08-03 10:13
DriverObject->MajorFunction [IRP_MJ_DEVICE_CONTROL] = KbFilter_IoCtl;
老鼠,IRP_MJ_DEVICE_CONTROL有呀 |
|
|
12楼#
发布于:2002-08-02 20:39
呵呵!你的初始化函数里面不应该是IRP_MJ_INTERNAL_DEVICE_CONTROL
|
|
13楼#
发布于:2002-08-02 16:54
lydmusic@163.net
|
|
|
14楼#
发布于:2002-08-02 14:26
好的,您的e-mail:??
|
|
15楼#
发布于:2002-08-02 14:17
我也曾遇到过DeviceIoContorl返回1的错误,我的错误原因是定义IOCTL CODE时的第一个参数不统一,即驱动程序和应用程序中的值不一样。不过看你的问题好象不是这个问题。
要不把代码发过来看看吧! |
|
|
16楼#
发布于:2002-08-02 14:17
ok,请查收,3X!
|
|
17楼#
发布于:2002-08-02 14:07
你把你的代码发一份给我吧
zydcat@163.com |
|
|
18楼#
发布于:2002-08-02 13:45
我试了缓冲区怎么改都不行,GetLastError()都是返回1
|
|
19楼#
发布于:2002-08-02 13:43
我是用设备管理器安装的。另外我想,我把中间4个参数都设成0应该没问题吧。
|
|
上一页
下一页