HeapAlloc(Windows API)

 函数功能:

HeapAlloc 函数从堆中分配一块内存。分配的内存不可移动。

函数原型:

DECLSPEC_ALLOCATOR LPVOID HeapAlloc(
  [in] HANDLE hHeap,
  [in] DWORD  dwFlags,
  [in] SIZE_T dwBytes
);

参数解析:

参数含义
hHeap要分配内存的堆的句柄。该句柄由HeapCreat函数或GetProcessHeap函数返回。
dwFlags堆分配选项。指定这些值中的任何一个都将覆盖使用HeapCreate创建堆时指定的相应值 。此参数可以是以下值中的一个或多个。
含义

HEAP_GENERATE_EXCEPTIONS

(0x00000004)

若指定了该值,调用HeapAlloc函数和HeapReAlloc函数失败时返回具体的错误代码,而不是返回NULL

HEAP_NO_SERIALIZE

(0x00000001)

若指定了该值,这样建立的堆不会进行独占性检测,访问速度可以更快

HEAP_ZERO_MEMORY

(0x00000008)

分配的内存将被初始化为零。否则,内存不会被初始化为零。
dwBytes要分配的内存块的字节数

返回值:

如果函数成功,则返回值是指向已分配内存块的指针。

如果函数失败并且您没有指定HEAP_GENERATE_EXCEPTIONS,则返回值为NULL,

如果函数失败并且您已指定HEAP_GENERATE_EXCEPTIONS,则该函数可能会生成下表中列出的异常之一。

异常代码描述
STATUS_NO_MEMORY由于缺少可用内存或堆损坏,分配尝试失败。
STATUS_ACCESS_VIOLATION由于堆损坏或不正确的函数参数,分配尝试失败。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值