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 以降で使用可能

関連項目