阅读:1853回复:6
请问在驱动中如何锁定极大的内存?
我想在驱动中占用1G或以上的内存,并且要锁定,请问有什么办法?像一些板载显卡就会占用好几百兆的物理内存,不知道是怎么实现的呢?
|
|
沙发#
发布于:2009-02-15 09:38
最多试过32M一块,再大就没成功过。
|
|
板凳#
发布于:2009-02-15 11:48
哦,你说的可能是指锁定一个整块32M,我其实需要的是用很多小块组成的都行,不管每块大小,只要能锁定,凑成的总数能上G就可以了,但是因为非分页内存池的原因,一般这样我也只能弄到100来M内存,离上G还远,但是有些软件,比如内存盘,缓存软件等,能分配超多的内存,不知道是怎么实现的
|
|
地板#
发布于:2009-02-16 12:52
32bit OS,非分页最大只有256M,操作系统预留了一部分了,所以不可能能申请到多少
|
|
|
地下室#
发布于:2009-03-18 17:33
服务器版windows应该配额更大一些。但没试过到底能申请到多少。
楼主说的那些设备,有没有可能是NONPAGE的申请不很多,PAGE的申请多一些,然后做一个COPY?这样看起来就是驱动申请了1G多的内存。 |
|
5楼#
发布于:2009-03-23 15:15
用户被禁言,该主题自动屏蔽! |
|
6楼#
发布于:2009-04-10 16:48
MmAllocatePagesForMdl
|
|