ホストが、EClrOperation で記述されている操作および EClrFailure で記述されているエラーに対して設定できるポリシー アクションを記述します。
typedef enum {
eNoAction,
eThrowException,
eAbortThread,
eRudeAbortThread,
eUnloadAppDomain,
eRudeUnloadAppDomain,
eExitProcess,
eFastExitProcess,
eRudeExitProcess,
eDisableRuntime
} EPolicyAction;
メンバー
メンバー |
説明 |
---|---|
eAbortThread |
共通言語ランタイム (CLR: Common Language Runtime) がスレッドを適切に中止することを指定します。 適切な中止では、すべての finally ブロック、スレッドの中止に関連する catch ブロック、およびファイナライザーを可能な限り実行します。 |
eDisableRuntime |
CLR が無効な状態に移行することを指定します。 影響を受けるプロセスでは、これ以降マネージ コードを実行できません。また、スレッドは CLR に入らないようにブロックされます。 |
eExitProcess |
CLR が、ファイナライザー、クリーンアップ操作、およびログ記録操作の実行も含めてプロセスの適切な終了を試みることを指定します。 |
eFastExitProcess |
CLR が、ファイナライザー、クリーンアップ操作、およびログ記録操作を実行しないで、プロセスを即座に終了することを指定します。 ただし、通知がデバッガーに送られます。 |
eNoAction |
アクションをまったく実行しないことを指定します。 |
eRudeAbortThread |
CLR がスレッドの rude な中止を実行することを指定します。 MustRunInClientContextAttribute でマークされている catch ブロックおよび finally ブロックだけが実行されます。 |
eRudeExitProcess |
CLR がファイナライザーまたはログ記録操作を実行しないでプロセスを終了することを指定します |
eRudeUnloadAppDomain |
CLR が AppDomain スレッドの rude なアンロードを実行することを指定します。 MustRunInClientContextAttribute でマークされているファイナライザーだけが実行されます。 同様に、スタックにこの AppDomain を持つすべてのスレッドは、ThreadAbortException を受け取りますが、MustRunInClientContextAttribute でマークされた catch ブロックおよび finally ブロックだけが実行されます。 |
eThrowException |
メモリ不足やバッファーのオーバーフローなどの、状況に合った例外をスローすることを指定します。 |
eUnloadAppDomain |
AppDomain がアンロードされることを指定します。 CLR はファイナライザーを実行しようとします。 |
解説
ホストは、ICLRPolicyManager インターフェイスのメソッドを呼び出すことによってポリシー アクションを設定します。 rude な中止と適切な中止の詳細については、EClrOperation 列挙体を参照してください。
必要条件
プラットフォーム: 「.NET Framework システム要件」を参照
ヘッダー : MSCorEE.h
ライブラリ: MSCorEE.dll
.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0