-
-
[求助]驱动分配大内存后使用的问题
-
发表于:
2010-6-10 15:58
5920
-
我在驱动中,需要开辟很大一块内存。大的程度:可用的物理内存有多少,我就希望尽可能开辟完。
ExAllocatePoolWithTag这个函数开辟是有上限的,无法达到目的。
MmAllocatePagesForMdl这个函数可以分配很大的内存,返回一个PMDL的指针,我想使用这块已经分配出来的内存的时候,想通过MmMapLockedPagesSpcifyCache来锁定内存,并返回内核下的虚拟地址。但是使用这个函数的时候,如果前面开辟的内存过大,调用MmMapLockedPagesSpcifyCache就会失败,返回不了需要的地址。
MmAllocatePagesForMdl开辟的大内存,我想要使用,应该如何操作
望高手指点!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课