LocalAlloc函数从堆中分配指定大小的字节数
来源:互联网 发布:notepad配置python 编辑:程序博客网 时间:2024/06/08 19:26
LocalAlloc,This function allocates the specified number of bytes from the heap.
这个函数从堆中分配指定大小的字节数。
HLOCAL LocalAlloc(
UINT uFlags,
UINT uBytes
);
参数:
uFlags[in]指定怎样去分配内存。如果zero被指定,默认的是LMEM_FIXED标志。此参数有三种标志:
LMEM_FIXED:分配固定内存,返回值是指向一个内存对象的指针。
LMEM_ZEROINIT:初始化内存内容为zero。
LPTR:结合了LMEM_FIXED和LMEM_ZEROINIT这两种标志。
LMEM_MOVEABLE:分配可移动内存。
LMEM_DISCARDABLE:分配可删除的内存。
uBytes:[in]指定要分配的字节数。
Return Values
A handle to the newly allocated memory object indicates success.
NULL indicates failure.
To get extended error information, call GetLastError.
返回值:成功则返回一个指向新分配的内存对象的句柄。
NULL表明函数失败。
要得到更多的错误信息的话,调用GetLastError。
备注:
该函数用局部内存对象的分配(全局内存对象的分配使用函数GlobalAlloc)。
如果堆中没有充足的自由空间去满足我们的需求,LocalAlloc返回NULL。因为NULL被使用去表明一个错误,虚拟地址zero从不被分配。因此,很容易去检测NULL指针的使用。
如果函数成功的话,它至少会分配我们指定大小的内存。如果分配给我们的数量多于我们指定的话,这个进程能使用整个数量的内存。
可以使用LocalSize函数去检测被分配的字节数。
可以使用LocalFree函数去释放这段内存。
对于分配的可移动内存、可删除内存读取前需加锁(相关函数LocalLock)否则将无法正常读取,读取完成后需解锁(相关函数LocalUnlock)否则无法使用LocalFree函数来释放内存。
对于Windows CE versions 1.0 and 1.01,每个进程的本地堆不能超过1MB。然而,一个进程能够使用HeapCreate函数创建多个堆,而且每个堆分配的字节能最大能达到1MB。
对于Windows CE版本1.0到2.12,分配在192K数量范围内的约为0到7个字节的大小内存——在这一尺寸范围的某些内存块——引起相应的调用LocalFree失败。返回的代码是ERROR_INVALID_PARAMETER。
Requirements
OS Versions: Windows CE 1.0 and later.
Header: Winbase.h.
Link Library: Coredll.lib.
阅读全文
0 0
- LocalAlloc函数从堆中分配指定大小的字节数
- GlobalAllock(从堆中分配指定字节数的内存)
- C中 malloc()分配堆内存实际的大小
- C中 malloc()分配堆内存实际的大小
- VC常用内存分配函数HeapAlloc,GlobalAlloc,LocalAlloc,VirtualAlloc,Malloc,New的异同
- VC常用内存分配函数HeapAlloc,GlobalAlloc,LocalAlloc,VirtualAlloc,Malloc,New的比较
- VC常用内存分配函数HeapAlloc,GlobalAlloc,LocalAlloc,VirtualAlloc,Malloc,New的异同
- 堆内简单申请指定字节数的int型变量的空间并且返回地址
- 从缺省堆中分配内存单元
- Win内存分配函数(GlobalAlloc/HeapAlloc/LocalAlloc/VirtualAlloc)
- Win内存分配函数(GlobalAlloc/HeapAlloc/LocalAlloc/VirtualAlloc)
- PHP把一个指定的数,随机的分配到指定书目的数组中
- 从指定的数组中,随机抽取一个数
- 任意字节对齐的内存分配函数
- 获取文件夹的大小(大小为字节数)
- 函数栈的内存分配大小
- 指定long型数据的字节大小表示形式
- 堆中分配的内存的方向
- 全能cad编辑器你用过吗?
- wdcp v2升级到v3问题概要
- XlistView的使用加XlistView的多布局
- 通过修改源码 实现system组和root用户 访问sd卡
- hive array、map、struct使用
- LocalAlloc函数从堆中分配指定大小的字节数
- 卡尔曼滤波器的一种形象表达
- extjs--项目架构
- (原创)VersionCode和VersionName
- Hat‘s Words(字典树)
- iOS 访问手机通讯录
- Android Studio不能自动提示Import问题
- NestedScrollView嵌套RecycleView滑动卡顿问题处理
- Spring 注解@Transactional 事务