zealsoft_zhu
驱动小牛
驱动小牛
  • 注册日期2004-03-30
  • 最后登录2014-07-30
  • 粉丝2
  • 关注0
  • 积分22分
  • 威望375点
  • 贡献值0点
  • 好评度137点
  • 原创分0分
  • 专家分0分
阅读:1198回复:2

大家来讨论一下几个内存操作函数

楼主#
更多 发布于:2005-06-09 14:41
1.MmBuildMdlForNonPagedPool函数。
2.MmProbeAndLockPages函数
3.MmMapLockedPagesSpecifyCache函数
我发现前2个函数并没有改变pmdl的值,看了msdn和ddk上面的解释也有点不太明白。
有没有大侠解释一下这3个函数的用处,有什么功能,在什么情况下使用这3个函数。谢谢!




fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-09 15:20
这几个函数在共享内存中会用到的,主要与内存映射有关。
我觉得MSDN里面讲的挺清楚地,最好找个相关代码分析一下,应该就比较清楚了。
在交流中学习。。。
zealsoft_zhu
驱动小牛
驱动小牛
  • 注册日期2004-03-30
  • 最后登录2014-07-30
  • 粉丝2
  • 关注0
  • 积分22分
  • 威望375点
  • 贡献值0点
  • 好评度137点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-09 15:40
我自己先顶一下吧,MmBuildMdlForNonPagedPool函数和MmProbeAndLockPages都没有改变传入的pmdl值,MmBuildMdlForNonPagedPool函数主要把描述虚拟内存地址的mdl更新为描述物理页的mdl,但是我发现,事实并没有改变pmdl的值。
MmProbeAndLockPages函数对于非分页的好像没有什么作用,非分页的本来就一定在物理内存,没有必要lock。
MmMapLockedPagesSpecifyCache指定cache模式等。
游客

返回顶部