CriticalHandle.ReleaseHandle メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > CriticalHandle.ReleaseHandle メソッドの意味・解説 

CriticalHandle.ReleaseHandle メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

派生クラスオーバーライドされると、ハンドル解放するために必要なコード実行します

名前空間: System.Runtime.InteropServices
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

解説解説

適切な同期機構を使用してClose メソッドまたは Dispose メソッド呼び出し1 度だけ行われるようにしている場合ReleaseHandle メソッドは必ず 1 度だけ呼び出されます。IsInvalid プロパティまたは IsClosed プロパティtrue である場合ReleaseHandle メソッド呼び出されません。CriticalHandle の派生クラスでこのメソッド実装し、ハンドル解放するために必要なコード実行しますCriticalHandle機能1 つリソースリークを防ぐことであるため、ReleaseHandle実装コード決し失敗しないようにする必要がありますガベージ コレクタは、同時に収集したオブジェクトに対して通常のファイナライザ実行された後に ReleaseHandle呼び出すため、このメソッド確実に呼び出しメソッド実行中にその動作中断しないことをリソースに対して保証します。このメソッドは、静的決定可能呼び出し先のすべてのメソッドと共にインスタンス構築時に制約され実行領域 (CER: Constrained Execution Region) として用意されます。これにより、スレッド中止によって処理が中断されることはななりますが、オーバーライドされた ReleaseHandle メソッド違反パス取り込まれないよう注意する必要があります。特に、ReleaseHandle から呼び出すメソッドには、ReliabilityContractAttribute 属性適用します。通常、このコード次のようになります

ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)

さらに、簡単なクリーンアップでは (ファイル ハンドルWin32 APICloseHandle呼び出す場合など)、単一プラットフォーム呼び出し戻り値チェックできます複雑なクリーンアップでは、多数プログラム ロジックメソッド呼び出し使用できますが、それらの一部失敗する場合ありますプログラム ロジックでは、これらの各ケース対すフォールバック コードを必ず用意するようにしてください

何らかの理由ReleaseHandle メソッドfalse返すと、ReleaseHandleFailed マネージ デバッグ アシスタント生成されます。

.NET Framework のセキュリティ.NET Frameworkセキュリティ
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
CriticalHandle クラス
CriticalHandle メンバ
System.Runtime.InteropServices 名前空間
その他の技術情報
マネージ デバッグ アシスタントによるエラー診断
ReleaseHandleFailed


このページでは「.NET Framework クラス ライブラリ リファレンス」からCriticalHandle.ReleaseHandle メソッドを検索した結果を表示しています。
Weblioに収録されているすべての辞書からCriticalHandle.ReleaseHandle メソッドを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からCriticalHandle.ReleaseHandle メソッド を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

CriticalHandle.ReleaseHandle メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



CriticalHandle.ReleaseHandle メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS