阅读:1198回复:2
大家来讨论一下几个内存操作函数
1.MmBuildMdlForNonPagedPool函数。
2.MmProbeAndLockPages函数 3.MmMapLockedPagesSpecifyCache函数 我发现前2个函数并没有改变pmdl的值,看了msdn和ddk上面的解释也有点不太明白。 有没有大侠解释一下这3个函数的用处,有什么功能,在什么情况下使用这3个函数。谢谢! |
|
沙发#
发布于:2005-06-09 15:20
这几个函数在共享内存中会用到的,主要与内存映射有关。
我觉得MSDN里面讲的挺清楚地,最好找个相关代码分析一下,应该就比较清楚了。 |
|
|
板凳#
发布于:2005-06-09 15:40
我自己先顶一下吧,MmBuildMdlForNonPagedPool函数和MmProbeAndLockPages都没有改变传入的pmdl值,MmBuildMdlForNonPagedPool函数主要把描述虚拟内存地址的mdl更新为描述物理页的mdl,但是我发现,事实并没有改变pmdl的值。
MmProbeAndLockPages函数对于非分页的好像没有什么作用,非分页的本来就一定在物理内存,没有必要lock。 MmMapLockedPagesSpecifyCache指定cache模式等。 |
|