ReclaimVirtualMemory 函数 (memoryapi.h)
使用 OfferVirtualMemory 回收提供给系统的一系列内存页。
如果提供的内存已被丢弃,则内存区域的内容是未定义的,必须由应用程序重写。 如果提供的内存尚未丢弃,则会原封不动地回收该内存。
语法
DWORD ReclaimVirtualMemory(
[in] void const *VirtualAddress,
[in] SIZE_T Size
);
参数
[in] VirtualAddress
要回收的内存的页对齐起始地址。
[in] Size
要回收的内存区域的大小(以字节为单位)。 Size 必须是系统页面大小的整数倍数。
返回值
如果成功且内存回收完好无损,则返回ERROR_SUCCESS。
如果成功,但内存已被丢弃且必须由应用程序重写,则返回ERROR_BUSY。 在这种情况下,内存区域的内容未定义。
否则返回 系统错误代码 。
注解
回收的内存页可由应用程序使用,如果发生分页,将写入系统分页文件。
如果函数返回ERROR_SUCCESS,则回收页中的数据有效。 如果函数返回ERROR_BUSY,则系统放弃回收页中的数据,并且不再有效。 因此,仅当应用程序不需要或可以重新生成数据时,才应向系统提供内存。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8.1 更新 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows Server 2012 R2 更新 [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | memoryapi.h (包括 Windows.h、Memoryapi.h) |
Library | onecore.lib |
DLL | Kernel32.dll |