首页
社区
课程
招聘
IoAllocateMdl和MmProbeAndLockPages怎么用?
发表于: 2017-2-20 21:33 4054

IoAllocateMdl和MmProbeAndLockPages怎么用?

2017-2-20 21:33
4054

内核层读写用户层内存这样写为什么不行?
KeStackAttachProcess(Process, &apc);

                PMDL mdl = IoAllocateMdl(PAGE_ALIGN(Address), PAGE_SIZE, FALSE, FALSE, NULL);
                if (!mdl)
                {
                        KeUnstackDetachProcess(&apc);
                        return STATUS_UNSUCCESSFUL;
                }
                __try
                {
                        MmProbeAndLockPages(mdl, UserMode, IoWriteAccess);//这里必须是用户模式的
                }
                __except(EXCEPTION_EXECUTE_HANDLER)
                {                        IoFreeMdl( mdl);
                        KeUnstackDetachProcess(&apc);

                         DbgPrint("GetExceptionCode:%d\n",GetExceptionCode());

                        //每次都会跑到这里来,都不成功,这怎么弄啊
                        return STATUS_UNSUCCESSFUL;
                }

KeUnstackDetachProcess(&apc);


输出信息是:

错误提示:-1073741819
-1073741819,   "\"0x%08lx\" 指令引用的 \"0x%08lx\" 内存。该内存不能为 \"%s\"。"

什么情况?

哪位大神指点迷津一下吧。


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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 145
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
IoWriteAccess      换  IoReadAccess
2017-2-20 21:51
0
雪    币: 46
活跃值: (1740)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3



altmanx

IoWriteAccess 换 IoReadAccess
对了,我要读写的
不只是要读
2017-2-20 22:13
0
游客
登录 | 注册 方可回帖
返回
//