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的实现最详细的分析,

相关推荐
鹏大师运维2 小时前
为什么信创电脑装软件总提示“软件包架构不匹配”?
linux·运维·架构·国产化·麒麟·deb·统信uos
fqbqrr2 小时前
2606C++,C++构的多态
开发语言·c++
小欣加油3 小时前
leetcode56 合并区间
c++·算法·leetcode·职场和发展
Yolo_TvT4 小时前
C++:析构函数
c++
鹤落晴春4 小时前
【Linux复习】管理SELinux安全性
linux·运维·服务器
清风6666664 小时前
基于单片机与DAC0832的双路波形信号发生系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
yz_aiks4 小时前
Linux Jar包配置Systemd自启动实战:从排查到配置全流程
linux·python·jar·自启动·systemd
Hello:CodeWorld5 小时前
C 风格变参 vs C++ 变参模板:核心区别与选型指南
c语言·c++·算法
azwsm5 小时前
电路元器件和GPIO控制器
单片机·嵌入式硬件
bjzhang756 小时前
CentOS下安装MySQL详解
linux·mysql·centos