3.1.1ReactOS系统中搜索给定长度的空间地址区间函数的实现

系列文章目录

//搜索给定长度的空间地址区间

MmFindGap();

PMADDRESS_SPACE AddressSpace,//该进程用户空间

ULONG_PTR Length,//寻找的空间间隔大小

ULONG_PTR Granularity,//粒度位,表明空间起点的对齐要求,注意是起点地址

ULONG_PTR TopDown);

函数的定义:

PVOID

NTAPI

MmFindGap(

PMADDRESS_SPACE AddressSpace,

ULONG_PTR Length,

ULONG_PTR Granularity,

BOOLEAN TopDown

);

文章目录


MmFindGap函数的实现

//搜索给定长度的空间地址区间

c 复制代码
//所属给定长度的空间地址区间


PVOID STDCALL
MmFindGap(
   PMADDRESS_SPACE AddressSpace,
   ULONG_PTR Length,
   ULONG_PTR Granularity,
   BOOLEAN TopDown)
{
   if (TopDown)//表示寻找的方向时从高端到低段还是从低端往高端
      return MmFindGapTopDown(AddressSpace, Length, Granularity);//高端往地段

   return MmFindGapBottomUp(AddressSpace, Length, Granularity);//低端往高端
}

//搜索给定长度的空间地址区间

PMADDRESS_SPACE AddressSpace,//该进程用户空间

ULONG_PTR Length,//寻找的空间间隔大小

ULONG_PTR Granularity,//粒度位,表明空间起点的对齐要求,注意是起点地址

ULONG_PTR TopDown);

下一篇文章对函数对函数MmFindGapTopDowm的实现最详细的分析,

相关推荐
超级大坏蛋201842 分钟前
QT .pro文件的常见用法
java·linux·qt
我好饿13 小时前
Linux入门教程 第十五章 Linux 系统调优工具
linux·运维·网络
萌虎爱分享3 小时前
Linux 防火墙 (firewalld) 管理完整指南
linux·运维·防火墙·firewalld
祈祷苍天赐我java之术7 小时前
Linux 进阶之性能调优,文件管理,网络安全
java·linux·运维
ajassi20008 小时前
开源 C++ QT Widget 开发(七)线程--多线程及通讯
linux·c++·qt·开源
孤雪心殇8 小时前
如何安全,高效,优雅的提升linux的glibc版本
linux·后端·golang·glibc
mit6.8248 小时前
8.27 网格memo
c++·算法
潇凝子潇8 小时前
获取服务器指标的信息
linux·运维·服务器
jeffery8928 小时前
4056:【GESP2403八级】接竹竿
数据结构·c++·算法
FreeBuf_8 小时前
Chrome高危零日漏洞PoC公开,已被用于野外攻击
linux·运维·服务器·安全·web安全