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

相关推荐
Ddddddd_1581 小时前
C++ | Leetcode C++题解之第504题七进制数
c++·leetcode·题解
J_z_Yang1 小时前
LeetCode 202 - 快乐数
c++·算法·leetcode
TensorFlowGAN1 小时前
rhcsa、ce复习(每日编辑,复习完为止)
linux·es
Drscq2 小时前
How to migrate a CentOS 8 to Rocky Linux 8.10
linux·运维·centos
修心光2 小时前
CentOS配置iptables规则并使其永久生效
linux·运维·centos
加载中loading...2 小时前
Linux线程安全(二)条件变量实现线程同步
linux·运维·服务器·c语言·1024程序员节
安科瑞刘鸿鹏2 小时前
校园建筑用电安全监测装置 电气火灾监测预防设备功能介绍
运维·服务器·网络·嵌入式硬件·安全·能源
Y.O.U..4 小时前
STL学习-容器适配器
开发语言·c++·学习·stl·1024程序员节
lihao lihao4 小时前
C++stack和queue的模拟实现
开发语言·c++
Cici_ovo5 小时前
摄像头点击器常见问题——摄像头视窗打开慢
人工智能·单片机·嵌入式硬件·物联网·计算机视觉·硬件工程