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)
程式庫 onecore.lib
DLL Kernel32.dll

另請參閱

記憶體管理功能

OfferVirtualMemory

虛擬記憶體函式

VirtualAlloc

VirtualFree

VirtualLock

VirtualQuery