美文网首页
内存管理相关API列表

内存管理相关API列表

作者: f675b1a02698 | 来源:发表于2017-09-14 16:15 被阅读0次

    堆管理

    API说明

    HeapCreate为进程创建堆,返回堆句柄

    GetProcessHeap获取当前进程中的一个堆,返回句柄

    GetProcessHeaps获得进程中所有堆,包括堆的数量和各个堆的句柄

    HeapAlloc从指定堆上分配内存块

    HeapReAlloc重新分配内存,改变已经分配好的堆内存块的大小

    GetSystemInfo获取系统信息

    HeapSize获取指定堆的大小,以字节位单位返回堆大小信息

    HeapFree释放HeapAlloc和HeapReAlloc所分配的内存

    HeapDestroy销毁HeapCreate创建的堆

    全局和局部内存管理

    API说明

    GlobalAlloc在默认堆上分配指定属性和大小的内存

    GlobalFree释放有Global分配的内存

    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判断调用进程是否拥有对指定地址段内存的写操作权限

    相关文章

      网友评论

          本文标题:内存管理相关API列表

          本文链接:https://www.haomeiwen.com/subject/wjgqsxtx.html