首页
社区
课程
招聘
[求助]寒江独钓—键盘过滤Win7下提示找不到驱动对象
发表于: 2011-7-15 10:18 7836

[求助]寒江独钓—键盘过滤Win7下提示找不到驱动对象

2011-7-15 10:18
7836
实验环境:VMWare7.0+Win7+VS2008+WDK

键盘过滤驱动编译成功并加载驱动,然后启动的时候提示:
        MyAttach: Couldn't get the MyTest Driver Object

这说明:函数ObReferenceObjectByName返回失败了,也就是没找到L"\\Driver\\kbdclass,为什么呢?将编译后的sys文件拿到XPsp3下就是正常的,代码实现了预期。

//初始化一个字符串,就是KbdClass驱动的名字
RtlInitUnicodeString(&uniNameString, L"\\Driver\\kbdclass");
status = ObReferenceObjectByName(
        &uniNameString,
        OBJ_CASE_INSENSITIVE,
        NULL,
        0,
        IoDriverObjectType,
        KernelMode,
        NULL,
        &KbdDriverObject
        );
//如果失败直接返回
if(!NT_SUCCESS(status))
{
        KdPrint(("MyAttach: Couldn't get the MyTest Driver Object\n"));
        return ( status );
}
else
{
        ObDereferenceObject(DriverObject);
}

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 178
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
编译的时候选择Win7环境了么?
2011-7-15 10:24
0
雪    币: 275
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我是用VS2008配合DDKWizard编译的代码,有设置了W7BASE\WLHBASE的环境变量!
2011-7-15 10:28
0
雪    币: 88
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
看ObReferenceObjectByName源码,最后注意Parse的地方
2011-7-15 12:42
0
游客
登录 | 注册 方可回帖
返回
//