Share via


釋放虛擬記憶體

VirtualFree函式會根據下列規則取消認可和釋放頁面:

  • 取消認可一或多個認可的頁面,將頁面的狀態變更為保留。 取消認可頁面會釋放與頁面相關聯的實體儲存體,使其可供任何進程配置。 任何認可的頁面區塊都可以取消認可。
  • 釋放一或多個保留頁面的區塊,將頁面的狀態變更為免費。 釋放頁面區塊可讓進程配置保留位址的範圍。 只有釋出最初由 VirtualAlloc保留的整個區塊,才能釋出保留的頁面。
  • 同時解除認可和釋放一或多個已認可頁面的區塊,將頁面的狀態變更為可用。 指定的區塊必須包含 VirtualAlloc最初保留的整個區塊,而且目前必須認可所有頁面。

釋放或取消認可記憶體區塊之後,您絕對不能再次參考它。 任何可能已在該記憶體中的資訊都永遠消失。 嘗試讀取或寫入免費頁面會導致存取違規例外狀況。 如果您需要資訊,請勿取消認可或釋放包含該資訊的記憶體。

若要指定記憶體範圍中的資料不再感興趣,請使用MEM_RESET呼叫VirtualAlloc。 頁面將不會讀取或寫入至分頁檔案。 不過,稍後可以使用記憶體區塊。