HeapAlloc

更新时间:2024-03-30 23:54

HeapAlloc是一个Windows API函数。它用来在指定的堆上分配内存,并且分配后的内存不可移动。

函数原型

LPVOID HeapAlloc(HANDLE hHeap,DWORD dwFlags,SIZE_T dwBytes,);

参数

hHeap

要分配堆的句柄,可以通过HeapCreate()函数或GetProcessHeap()函数获得。

dwFlags

堆分配时的可选参数,其值可以为以下的一种或多种:

dwBytes

要分配堆的字节数。

返回值

如果成功分配内存,返回值为一个指向所分配内存块的首地址的(void*)指针

如果分配内存失败,并且没有指定HEAP_GENERATE_EXCEPTIONS,则返回NULL。

如果指定了HEAP_GENERATE_EXCEPTIONS,则抛出异常,而不返回NULL:

例子

plfTable = (PIP_INTERFACE_INFO)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(PIP_INTERFACE_INFO));

// ... (your operations)

HeapFree(GetProcessHeap(), 0, plfTable); // 使用完毕后释放堆

注:PIP_INTERFACE_INFO结构包含了与IPv4网络接口适配器,在本地系统上启用的列表

需求

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}