读书人

寒江独钓 键盘过滤驱动有关问题

发布时间: 2012-06-20 20:37:21 作者: rapoo

寒江独钓 键盘过滤驱动问题
寒江独钓的键盘过滤驱动

C/C++ code
// 初始化一个字符串,就是Kdbclass驱动的名字。    RtlInitUnicodeString(&uniNtNameString, KBD_DRIVER_NAME);     // 请参照前面打开设备对象的例子。只是这里打开的是驱动对象。    status = ObReferenceObjectByName (         &uniNtNameString,         OBJ_CASE_INSENSITIVE,         NULL,         0,         IoDriverObjectType,         KernelMode,         NULL,         &KbdDriverObject         );     // 如果失败了就直接返回    if(!NT_SUCCESS(status))     {         KdPrint(("MyAttach: Couldn't get the MyTest Device Object\n"));         return( status );     }    else    {        // 这个打开需要解应用。早点解除了免得之后忘记。        ObDereferenceObject(DriverObject);    }    // 这是设备链中的第一个设备        pTargetDeviceObject = KbdDriverObject->DeviceObject;    // 现在开始遍历这个设备链    while (pTargetDeviceObject)     {        //,...............    }


这段绑定代码, 在执行到 while (pTargetDeviceObject) , 由于 pTargetDeviceObject 为空直接退出了。
ObReferenceObjectByName 这个函数调用是成功的, 为什么会这样呢,抓狂了。


[解决办法]

[解决办法]
还在看前面的串口过滤
[解决办法]
看我的博客,有个可以运行的源码供楼主参考。
http://blog.csdn.net/svtanto

读书人网 >驱动开发

热点推荐