VirtualUnlock 関数 (memoryapi.h)
プロセスの仮想アドレス空間内の指定されたページ範囲のロックを解除し、必要に応じてシステムがページをページング ファイルにスワップできるようにします。
構文
BOOL VirtualUnlock(
[in] LPVOID lpAddress,
[in] SIZE_T dwSize
);
パラメーター
[in] lpAddress
ロックを解除するページの領域のベース アドレスへのポインター。
[in] dwSize
ロック解除されているリージョンのサイズ (バイト単位)。 影響を受けるページの領域には、 lpAddress パラメーターから までの範囲内の 1 つ以上のバイトを含むすべてのページが (lpAddress+dwSize)
含まれます。 つまり、ページ境界にまたがる 2 バイト範囲では、両方のページのロックが解除されます。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
関数を成功させるには、指定された範囲が VirtualLock 関数の前の呼び出しに渡された範囲と一致する必要はありませんが、範囲内のすべてのページをロックする必要があります。 指定した範囲内のページのいずれかがロックされていない場合、 VirtualUnlock はそのようなページをワーキング セットから削除し、最後のエラーを ERROR_NOT_LOCKEDに設定し、 FALSE を返します。
ロックされていないメモリの範囲で VirtualUnlock を呼び出すと、プロセスのワーキング セットからページが解放されます。
要件
サポートされている最小のクライアント | Windows XP [デスクトップ アプリ | UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | memoryapi.h (Windows.h、Memoryapi.h を含む) |
Library | onecore.lib |
[DLL] | Kernel32.dll |