localFree 函数 (winbase.h)
释放指定的本地内存对象并使其句柄失效。
语法
HLOCAL LocalFree(
[in] _Frees_ptr_opt_ HLOCAL hMem
);
参数
[in] hMem
本地内存对象的句柄。 此句柄由 LocalAlloc 或 LocalReAlloc 函数返回。 释放使用 GlobalAlloc 分配的内存是不安全的。
返回值
如果函数成功,则返回值为 NULL。
如果函数失败,则返回值等于本地内存对象的句柄。 要获得更多的错误信息,请调用 GetLastError。
注解
如果进程在释放内存后尝试检查或修改内存,则可能会发生堆损坏,或者可能会生成访问冲突异常 (EXCEPTION_ACCESS_VIOLATION) 。
如果 hMem 参数为 NULL, 则 LocalFree 将忽略该参数并返回 NULL。
LocalFree 函数将释放锁定的内存对象。 锁定的内存对象的锁计数大于零。 LocalLock 函数锁定本地内存对象,并将锁计数递增 1。 LocalUnlock 函数将其解锁,并将锁计数递减 1。 若要获取本地内存对象的锁计数,请使用 LocalFlags 函数。
如果应用程序在系统的调试版本下运行, LocalFree 将发出一条消息,告知你正在释放锁定的对象。 如果要调试应用程序, LocalFree 将在释放锁定的对象之前输入断点。 这样,便可以验证预期行为,然后继续执行。
示例
有关示例,请参阅 LocalAlloc。
要求
最低受支持的客户端 | Windows XP [桌面应用 | UWP 应用] |
最低受支持的服务器 | Windows Server 2003 [桌面应用 | UWP 应用] |
目标平台 | Windows |
标头 | winbase.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |