次の方法で共有


EPolicyAction 列挙型

ホストが、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

参照

参照

EClrFailure 列挙型

ICLRPolicyManager インターフェイス

IHostPolicyManager インターフェイス

その他の技術情報

ホスティングの列挙体