ReclaimVirtualMemory 関数 (memoryapi.h)
OfferVirtualMemory を使用してシステムに提供されたメモリ ページの範囲を再利用します。
提供されたメモリが破棄された場合、メモリ領域の内容は未定義であり、アプリケーションで書き換える必要があります。 提供されたメモリが破棄されていない場合は、そのまま再利用されます。
構文
DWORD ReclaimVirtualMemory(
[in] void const *VirtualAddress,
[in] SIZE_T Size
);
パラメーター
[in] VirtualAddress
再利用するメモリのページアライン開始アドレス。
[in] Size
再利用するメモリ領域のサイズ (バイト単位)。 サイズ は、システム ページ サイズの整数倍数である必要があります。
戻り値
成功し、メモリがそのまま再利用された場合は、ERROR_SUCCESSを返します。
成功したがメモリが破棄され、アプリケーションによって書き換えられる必要がある場合は、ERROR_BUSYを返します。 この場合、メモリ領域の内容は未定義です。
それ以外の場合は 、システム エラー コード を返します。
注釈
再利用されたメモリ ページはアプリケーションで使用でき、ページングが発生した場合はシステム ページング ファイルに書き込まれます。
関数がERROR_SUCCESSを返す場合、再利用されたページ内のデータは有効です。 関数がERROR_BUSYを返した場合、再利用されたページ内のデータはシステムによって破棄され、無効になります。 このため、メモリは、アプリケーションがデータを必要としない場合、またはデータを再生成できる場合にのみシステムに提供する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8.1 Update [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 R2 Update [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | memoryapi.h (Windows.h、Memoryapi.h を含む) |
Library | onecore.lib |
[DLL] | Kernel32.dll |