内存管理之五

类别:VC语言 点击:0 评论:0 推荐:

Memory Management Functions (内存管理函数)

以下的函数用于内存管理

函数

描述

CopyMemory

将一块内存从位置拷贝到另外一个位置

FillMemory

将指定内存块内容填充为指定数据

GetWriteWatch

查找已经被写入虚拟内存区域的页面地址

GlobalMemoryStatus

获得关于系统当前对于物理内存和虚拟的内存的使用信息。

GlobalMemoryStatusEx

获得关于系统当前对于物理内存和虚拟的内存的使用信息。

IsBadCodePtr

决定调用进程是否拥有对指定地址内存的读操作权。

 

IsBadReadPtr

检验调用进程是否拥有对指定内存范围的读操作权。

 

IsBadStringPtr

检验调用进程是否拥有对指定字符串所在地址区域的读操作权。

 

IsBadWritePtr

检验调用进程是否拥有对指定内存范围的写操作权。

 

MoveMemory

将一块内存从一个位置移动到另外的位置。

 

ResetWriteWatch

为某片虚拟内存区域重置写跟踪状态。

 

ZeroMemory

用零值填充某片内存块。

 

 

以下是 AWE(Address Windowing Extensions) 函数

函数

描述

AllocateUserPhysicalPages

分配物理内存页面与进程的AWE区域建立或取消映射

 

FreeUserPhysicalPages

释放先前由AllocateUserPhysicalPages函数分配的物理内存页面。

 

MapUserPhysicalPages

映射在AWE区域内的指定地址分配的物理内存。

 

MapUserPhysicalPagesScatter

同上

 

 

以下的函数是全局(global)和本地(local)函数。这类函数运行速度较之其它内存管理函数为慢并且有很多特性没有提供。这就是说,新的应用程序应该尽量使用堆函数(heap functions).然而,全局函数(global functions)仍然被用在DDE和剪贴板操作中。

函数

描述

GlobalAlloc

从堆中分配指定字节数量的内存。

 

GlobalDiscard

丢弃指定的全局内存块

 

GlobalFlags

返回关于指定全局内存对象的信息

 

GlobalFree

释放指定的全局内存对象。

 

GlobalHandle

返回指定全局内存块的指针的句柄。

 

GlobalLock

锁定一个全局内存对象并且返回指向该内存块第一个字节的指针。

 

GlobalReAlloc

改变指定全局内存对象的大小和属性。

 

GlobalSize

得到指定内存对象的当前大小。

 

GlobalUnlock

减少对一个内存对象的锁定数量。

 

LocalAlloc

从堆中分配指定数量的内存。

 

LocalDiscard

丢弃指定的本地内存对象

 

LocalFlags

返回关于指定本地内存对象的信息。

 

LocalFree

释放指定的本地内存对象。

 

LocalHandle

得到指向指定本地内存对象的指针的句柄。

 

LocalLock

锁定本地内存对象并且返回指向该内存对象的第一个字节的指针。

 

LocalReAlloc

改变指定本地内存对象的大小或者属性。

 

LocalSize

返回指定本地内存对象的当前大小。

 

LocalUnlock

减少对某内存对象的锁定数量。

 

 

以下是堆函数族。

函数

描述

GetProcessHeap

获得调用进程的堆的一个句柄。

 

GetProcessHeaps

获得调用进程所有有效的堆的句柄。

 

HeapAlloc

从堆中分配一块内存

 

HeapCompact

尝试压紧指定的堆。

 

HeapCreate

创建一个堆对象。

 

HeapDestroy

销毁指定的堆对象。

 

HeapFree

释放一块从堆中分配的内存。

 

HeapLock

尝试获得与指定堆关联的锁定。

 

HeapQueryInformation

获得关于指定堆的资料。

 

HeapReAlloc

从堆中重新分配一块内存。

 

HeapSetInformation

为指定的堆设置堆信息。

 

HeapSize

获得一个在堆上的内存块的大小。

 

HeapUnlock

获得与指定堆相关联的一个锁定的所有者。

 

HeapValidate

尝试使指定的堆有效。

 

HeapWalk

枚举指定堆上的内存块。

 

 

以下是虚拟内存函数。

函数

描述

VirtualAlloc

保留或提交调用进程虚拟地址空间的某一区域的页面。

 

VirtualAllocEx

保留或提交调用进程虚拟地址空间的某一区域的页面。

 

VirtualFree

释放或取消提交调用进程虚拟地址空间的某一区域的页面。

 

VirtualFreeEx

释放或取消提交调用进程虚拟地址空间的某一区域的页面。

 

VirtualLock

锁定指定的进程虚拟地址空间的指定块到物理内存中。

 

VirtualProtect

改变调用进程虚拟地址空间已提交页面区域的访问限制级。

 

VirtualProtectEx

改变调用进程虚拟地址空间已提交页面区域的访问限制级。

 

VirtualQuery

提供关于调用进程虚拟地址空间页面区域的资料。

 

VirtualQueryEx

提供关于调用进程虚拟地址空间页面区域的资料。

 

VirtualUnlock

对某进程虚拟地址空间的某区域的页面解锁。

 

本文地址:http://com.8s8s.com/it/it2009.htm