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

另请参阅

内存管理函数

OfferVirtualMemory

虚拟内存函数

VirtualAlloc

VirtualFree

VirtualLock

VirtualQuery