DiscardVirtualMemory 函数 (memoryapi.h)

放弃一系列内存页的内存内容,而不取消内存。 已丢弃内存的内容未定义,必须由应用程序重写。

语法

DWORD DiscardVirtualMemory(
  [in] PVOID  VirtualAddress,
  [in] SIZE_T Size
);

parameters

[in] VirtualAddress

要丢弃的内存的页对齐起始地址。

[in] Size

要丢弃的内存区域的大小(以字节为单位)。 Size 必须是系统页面大小的整数倍数。

返回值

如果成功,ERROR_SUCCESS;否则 为系统错误代码

注解

如果 DiscardVirtualMemory 失败,则不会更改该区域的内容。

使用此函数可放弃不再需要的内存内容,同时保留内存区域本身的提交。 放弃内存可能会将物理 RAM 返回给系统。 当应用程序再次访问内存区域时,将还原后备 RAM,并且内存的内容未定义。

重要如果未PAGE_READWRITE内存保护,则调用 DiscardVirtualMemory 将失败。
 

要求

   
最低受支持的客户端 Windows 8.1更新 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2012 R2 更新 [桌面应用 |UWP 应用]
目标平台 Windows
标头 memoryapi.h (包括 Windows.h、Memoryapi.h)
Library onecore.lib
DLL Kernel32.dll

另请参阅

内存管理函数

OfferVirtualMemory

ReclaimVirtualMemory

虚拟内存函数

VirtualAlloc

VirtualFree

VirtualLock

VirtualQuery