能力值:
(RANK:15 )
|
-
-
2 楼
问题讲清楚
|
能力值:
( LV7,RANK:117 )
|
-
-
3 楼
刘铠文
问题讲清楚
我需要对申请的这个页的页表进行操作,需要这个页是4k分页方式的,我该如何申请这段内存
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
https://bbs.pediy.com/thread-203514.htm 这篇帖子似乎可以解决你的问题
|
能力值:
( LV7,RANK:117 )
|
-
-
5 楼
khristian
https://bbs.pediy.com/thread-203514.htm 这篇帖子似乎可以解决你的问题
感谢你的回答,这篇帖子里所说的是VA到PA的转换,我的程序中已经实现了这块的内容,我现在需要的是申请一个4k页面,去修改这个页面的页表。 我用ExAllocatePool(PagedPool, 0x1000);在win7可以申请到一个完整的4k页,在win10就不行,是这个问题。
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
ExAllocatePoolWithTag 试试
|
能力值:
( LV4,RANK:50 )
|
-
-
7 楼
我忘记在哪看到过内核部分内存是使用大页面(4M),如果确实是这种页面,那么ExAllocatePool类似函数应该是在内核已经分配好的堆栈上分配吧? 如果这些都属实,说明你仅是在4M页内申请了一块内存,4或8字节对齐都有可能,所以你申请的不是4k对齐的整页. 没有具体研究过仅是思路 你看看是不是可以看看缺页中断或者类似系统服务的实现.
|
能力值:
( LV4,RANK:50 )
|
-
-
8 楼
去看 ExAllocatePool 大于4K就是整页
|
能力值:
( LV9,RANK:280 )
|
-
-
9 楼
win10 17134已经不让瞎改页表了,分分钟蓝你一脸 小老弟可真是个写挂鬼才,看雪捡到宝了
|
能力值:
( LV7,RANK:117 )
|
-
-
10 楼
我win7(7601),win10(10240),用MmAllocateNonCachedMemory(0x1000);暂时解决了。。。
|
能力值:
( LV7,RANK:117 )
|
-
-
11 楼
hzqst
win10 17134已经不让瞎改页表了,分分钟蓝你一脸
小老弟可真是个写挂鬼才,看雪捡到宝了
emmm哇这么惨的嘛
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
分配>8K的内存 取中间完整的页部分 试试
|
|
|