次の方法で共有


DiscardVirtualMemory 関数 (memoryapi.h)

メモリをコミットせずに、メモリ ページの範囲のメモリ内容を破棄します。 破棄されたメモリの内容は未定義であり、アプリケーションで書き換える必要があります。

構文

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

パラメーター

[in] VirtualAddress

破棄するメモリのページアライン開始アドレス。

[in] Size

破棄するメモリ領域のサイズ (バイト単位)。 サイズ は、システム ページ サイズの整数倍数である必要があります。

戻り値

成功した場合はERROR_SUCCESS。それ以外の場合は システム エラー コード

解説

DiscardVirtualMemory が失敗した場合、リージョンの内容は変更されません。

メモリ領域自体をコミットしたまま、不要になったメモリコンテンツを破棄するには、この関数を使用します。 メモリを破棄すると、物理 RAM がシステムに戻る可能性があります。 メモリの領域がアプリケーションによって再びアクセスされると、バッキング RAM が復元され、メモリの内容が未定義になります。

大事なメモリ保護がPAGE_READWRITEされていない場合、DiscardVirtualMemory の呼び出しは失敗します。
 

要件

   
サポートされている最小のクライアント Windows 8.1更新 [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2012 R2 Update [デスクトップ アプリ |UWP アプリ]
対象プラットフォーム Windows
ヘッダー memoryapi.h (Windows.h、Memoryapi.h を含む)
Library onecore.lib
[DLL] Kernel32.dll

関連項目

メモリ管理関数

OfferVirtualMemory

ReclaimVirtualMemory

仮想メモリ関数

VirtualAlloc

VirtualFree

VirtualLock

VirtualQuery