次の方法で共有


EPolicyAction

更新 : 2007 年 11 月

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

ライブラリ : MSCorEE.dll

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

EClrFailure

ICLRPolicyManager

IHostPolicyManager

その他の技術情報

ホスティングの列挙体