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 |