EPolicyAction 列挙型
EClrOperation によって記述された操作や EClrFailure によって記述されたエラーについて、ホストが設定できるポリシー アクションについて説明します。
構文
typedef enum {
eNoAction,
eThrowException,
eAbortThread,
eRudeAbortThread,
eUnloadAppDomain,
eRudeUnloadAppDomain,
eExitProcess,
eFastExitProcess,
eRudeExitProcess,
eDisableRuntime
} EPolicyAction;
メンバー
メンバー | 説明 |
---|---|
eAbortThread |
共通言語ランタイム (CLR) により、スレッドが正常に中止される必要があることを指定します。 正常な中止には、すべて finally のブロック、スレッドの中止に関連する catch ブロック、およびファイナライザーを実行する試行が含まれます。 |
eDisableRuntime |
CLR が無効化された状態になるように指定します。 影響を受けるプロセスでは、それ以上のマネージド コードを実行できず、スレッドが CLR に入ることがブロックされます。 |
eExitProcess |
CLR でプロセスが正常に終了される必要があることを指定します。これには、ファイナライザーの実行やクリーンアップおよびログ操作の実行が含まれます。 |
eFastExitProcess |
CLR でファイナライザーを実行したりクリーンアップ操作やログ操作を実行したりせずに、プロセスをすぐに終了する必要があることを指定します。 ただし、通知はデバッガーに送信されます。 |
eNoAction |
いかなるアクションも実行すべきでないことを指定します。 |
eRudeAbortThread |
CLR で正常でないスレッド中止を実行することを指定します。 MustRunInClientContextAttribute でマークされた catch および finally ブロックだけが実行されます。 |
eRudeExitProcess |
CLR でファイナライザーまたはログ操作を実行せずにプロセスを終了する必要があることを指定します。 |
eRudeUnloadAppDomain |
CLR で正常でない AppDomain のアンロードを実行することを指定します。 MustRunInClientContextAttribute でマークされたファイナライザーだけが実行されます。 同様に、スタック内のこの AppDomain を持つすべてのスレッドは ThreadAbortException を受け取りますが、 MustRunInClientContextAttribute でマークされた catch および finally ブロックだけは実行されます。 |
eThrowException |
メモリ不足、バッファー オーバーフローなどの条件に適した例外をスローする必要があることを指定します。 |
eUnloadAppDomain |
AppDomain をアンロードする必要があることを指定します。 CLR によりファイナライザーの実行が試みられます。 |
解説
ホストでは、ICLRPolicyManager インターフェイスのメソッドを呼び出すことによって、ポリシーアクションが設定されます。 異常と正常な中止の詳細については、EClrOperation 列挙型を参照してください。
必要条件
:「システム要件」を参照してください。
ヘッダー: MSCorEE.h
ライブラリ: MSCorEE.dll
.NET Framework のバージョン: 2.0 以降で使用可能
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET