HeapFree

更新时间:2024-06-27 13:27

HeapFree是一个Windows API函数。它用来释放堆内存

语法

BOOL HeapFree(HANDLE hHeap,DWORD dwFlags,LPVOID lpMem);

参数

hHeap

堆内存块释放。这个参数是HeapCreate或GetProcessHeap函数返回的句柄。

dwFlags

指定几个可控释放的内存块。指定以下值将覆盖flOptions中指定参数对应的值,当堆是由使用HeapCreate函数。

lpMem

被释放的内存块的指针。这HeapAlloc或HeapReAlloc函数返回的指针。如果这个指针为NULL,则为空。

返回值

如果函数成功,返回值是非零。否则为零。应用程序可以调用GetLastError扩展的错误信息。

例子

DWORD dirlen = GetLogicalDriveStrings(0,NULL);//获取磁盘逻辑驱动的大小

LPSTR pdir = (LPSTR) HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,dirlen);//分配堆内存

LPSTR ptmp = pdir; //临时指针,指向pdir

GetLogicalDriveStrings(dirlen,pdir); //这时候才是获取主机中的所有盘符给缓冲区dirlen

CString szText;//用于记录所有盘符

while(*pdir != NULL)

{

szText += pdir;//累加

m_Edit.SetWindowText(szText);//m_Edit为编辑框控件,类型为Control,不是value

pdir = strchr(pdir,NULL)+1;//指针移动

}

HeapFree(hp,HEAP_NO_SERIALIZE,ptmp);//释放,如果不释放会继续增多占用内存,直到程序结束

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