首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

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

2012-06-20 
寒江独钓 键盘过滤驱动问题寒江独钓的键盘过滤驱动C/C++ code// 初始化一个字符串,就是Kdbclass驱动的名字

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

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

热点排行