首页
社区
课程
招聘
[旧帖] [求助]ObReferenceObjectByName 0.00雪花
发表于: 2011-10-11 13:04 1873

[旧帖] [求助]ObReferenceObjectByName 0.00雪花

2011-10-11 13:04
1873
编译《寒江独钓》中键盘过滤那章的代码,其中有用ObReferenceObjectByName的地方老是编译不过去,不知道为什么,我是在Win7下编译的,代码:
NTSTATUS
                ObReferenceObjectByName(
                PUNICODE_STRING ObjectName,
                ULONG Attributes,
                PACCESS_STATE AccessState,
                ACCESS_MASK DesiredAccess,
                POBJECT_TYPE ObjectType,
                KPROCESSOR_MODE AccessMode,
                PVOID ParseContext,
                PVOID *Object
                );

        extern POBJECT_TYPE IoDriverObjectType;
NTSTATUS
c2pAttachDevices(
                                 IN PDRIVER_OBJECT DriverObject,
                                 IN PUNICODE_STRING RegistryPath
                                 )
{
        NTSTATUS status = 0;
        UNICODE_STRING uniNtNameString;
        PC2P_DEV_EXT devExt;
        PDEVICE_OBJECT pFilterDeviceObject = NULL;
        PDEVICE_OBJECT pTargetDeviceObject = NULL;
        PDEVICE_OBJECT pLowerDeviceObject = NULL;

        PDRIVER_OBJECT KbdDriverObject = NULL;

        KdPrint(("MyAttach\n"));

        // 初始化一个字符串,就是Kdbclass驱动的名字。
        RtlInitUnicodeString(&uniNtNameString, KBD_DRIVER_NAME);
        // 请参照前面打开设备对象的例子。只是这里打开的是驱动对象。
        status = ObReferenceObjectByName (
                &uniNtNameString,
                OBJ_CASE_INSENSITIVE,
                NULL,
                0,
            IoDriverObjectType,
                KernelMode,
                NULL,
                &KbdDriverObject
                );
        // 如果失败了就直接返回




}

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 128
活跃值: (111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
不知道这篇文章对你有没有帮助
http://blog.csdn.net/aksnzhy/article/details/6863811
2011-10-17 18:06
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
前面有朋友说的哦 反正我是没有看懂什么意思
2011-10-17 23:21
0
游客
登录 | 注册 方可回帖
返回
//