内存管理(堆栈)

PAGE_EXECUTE      可执行
PAGE_EXECUTE_READ    可读,可执行
PAGE_EXECUTE_READWRITE 可读,可写,可执行
PAGE_EXECUTE_WRITECOPY 可读,可写,可执行,以Read-on-write和copy-on-write方式共享
PAGE_NOACCESS           不可访问
PAGE_READONLY           只读
PAGE_READWRITE          可读,可写
PAGE_WRITECOPY          copy-on-write保护机制
PAGE_GUARD              保护,如果访问则异常(不能单独使用)
PAGE_NOCACHE            不进行CPU缓存(不能单独使用)
PAGE_WRITECOMBINE       write-combined优化(不能单独使用)
堆管理API
HeapCreate   为进程创建一个堆,返回一个堆句柄
GetProcessHeap 获取当前进程中的一个堆
HeapAlloc   从指定堆上分配内存块
HeapReAlloc     重新分配内存,改变已经分配好的堆内存块大小
GetSystemInfo 获取系统信息
HeapSize     获取指定堆大小,以字节为单位返回堆大小信息
HeapFree   释放HeapAlloc和HeapReAlloc所分配的内存
HeapDestroy   销毁由HeapCreate创建的堆
全局和局部内存管理API函数
GlobalAlloc   在默认堆上分配指定属性的大小的内存
GlobalFree   释放由GlobalAlloc分配的内存
GlobalReAlloc 重新分配内存,改变已经分配好的内存块大小
GlobalLock   将GlobalAlloc及GlobalReAlloc分配属性为GMEM_MOVEABLE内存块设为固定
GlobalHandle 与GlobalLock相对
GlobalSize   获取内存大小
虚拟内存管理API函数
VirtualAlloc "保留""提交"内存页面,将"空闲的"内存页面变为"保留的""已经提交的",保留的改为已提交的
VirtualAllocEx 类似VirtualAlloc功能,不过可以为其他进程分配内存
VirtualFree   将内存状态从"已经提交的"变为"保留的"
VirtualFreeEx 释放VirtualAllocEx分配的内存,功能,使用方法和VirtualFree类似
VirtualProtect 改变指定虚拟内存分页的保护属性
内存操作与内存信息管理API函数
CopyMemory            复制内存,第一个参数为目的地址,第二个参数为源地址,第三个参数为复制数据大小
FillMemory            填充内存,将一段内存填充为同一个值
MoveMemory            功能和CopyMemory类似,不同的是源地址和目的地址可以相同
ZeroMemory            将指定内存区域清零
GlobalMemoryStatusEx   用于获取系统当前内存使用情况
IsBadCodePtr     判断调用进程是否拥有对指定地址内存的读操作权限
IsBadReadPtr     判断调用进程是否有对指定地址段内存的读操作权限
ISBadStringPtr     判断调用进程是否拥有对字符串指针的读取权限
IsBadWritePtr          判断调用进程是否拥有对指定地址段内存的写操作权限
WriteProcessMemory 对某进程地址写入数据
ReadProcessMmemory 读取某进程地址数据

 

转载于:https://www.cnblogs.com/IMyLife/p/4826015.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值