次の方法で共有


IHostMemoryManager::VirtualFree メソッド

対応する Win32 関数の論理ラッパーとして機能します。 VirtualFree リリースの Win32 実装では、呼び出しプロセスの仮想アドレス空間内で、ページ領域が解放されるか、コミット解除されるか、解放され、コミット解除されます。

構文

HRESULT VirtualFree (  
    [in] LPVOID  lpAddress,  
    [in] SIZE_T  dwSize,  
    [in] DWORD   dwFreeType  
);  

パラメーター

lpAddress
[入力] 解放される仮想メモリ ページのベース アドレスへのポインター。

dwSize
[入力] 解放されるリージョンのバイト単位のサイズ。

dwFreeType
[入力] 解放操作の種類。

戻り値

HRESULT 説明
S_OK VirtualFree が正常に返されました。
HOST_E_CLRNOTAVAILABLE 共通言語ランタイム (CLR) がプロセスに読み込まれていないか、CLR がマネージド コードを実行できないまたは呼び出しを正常に処理できない状態です。
HOST_E_TIMEOUT 呼び出しがタイムアウトになりました。
HOST_E_NOT_OWNER 呼び出し元がロックを所有していません。
HOST_E_ABANDONED ブロックされたスレッドまたはファイバーが待機しているときに、イベントが取り消されました。
E_FAIL 原因不明の致命的なエラーが発生しました。 メソッドにより E_FAIL が返されると、そのプロセス内で CLR が使用できなくなります。 後続のホスティング メソッドの呼び出しでは HOST_E_CLRNOTAVAILABLE が返されます。
HOST_E_INVALIDOPERATION ホストを通じて割り当てられていないメモリを解放しようとしました。

解説

VirtualFree では、IHostMemoryManager::VirtualAlloc 関数を前に呼び出したとき、lpAddress パラメーターで関連付けられた仮想メモリ ページが解放されます。 ホスト経由で割り当てられていないメモリを解放しようとすると、HOST_E_INVALIDOPERATION が返されます。

このセマンティクスは、VirtualFree の Win32 実装のそれと同じです。 詳細については、Windows プラットフォームのドキュメントを参照してください。

必要条件

:システム要件」を参照してください。

ヘッダー: MSCorEE.h

ライブラリ: MSCorEE.dll にリソースとして含まれます

.NET Framework のバージョン: 2.0 以降で使用可能

関連項目