ICLRPolicyManager::SetActionOnTimeout メソッド
指定された操作がタイムアウトしたときに共通言語ランタイム (CLR) により実行されるポリシー アクションを指定します。
構文
HRESULT SetActionOnTimeout (
[in] EClrOperation operation,
[in] EPolicyAction action
);
パラメーター
operation
[in] いずれかの EClrOperation 値。タイムアウト アクションを指定する操作を示します。 サポートされている値を次に示します。
OPR_AppDomainUnload
OPR_ProcessExit
OPR_ThreadRudeAbortInCriticalRegion
OPR_ThreadRudeAbortInNonCriticalRegion
action
[in] EPolicyAction 値の 1 つ。操作がタイムアウトしたときに実行されるポリシー アクションを示します。
戻り値
HRESULT | 説明 |
---|---|
S_OK | SetActionOnTimeout が正常に返されました。 |
HOST_E_CLRNOTAVAILABLE | CLR がプロセスに読み込まれていないか、CLR がマネージド コードを実行できないまたは呼び出しを正常に処理できない状態です。 |
HOST_E_TIMEOUT | 呼び出しがタイムアウトになりました。 |
HOST_E_NOT_OWNER | 呼び出し元がロックを所有していません。 |
HOST_E_ABANDONED | ブロックされたスレッドまたはファイバーが待機しているときに、イベントが取り消されました。 |
E_FAIL | 原因不明の致命的なエラーが発生しました。 メソッドにより E_FAIL が返された後、そのプロセス内で CLR が使用できなくなります。 後続のホスティング メソッドの呼び出しでは HOST_E_CLRNOTAVAILABLE が返されます。 |
E_INVALIDARG | 指定された operation にはタイムアウトを設定できません。あるいは、operation に無効な値が指定されました。 |
解説
タイムアウト値は、CLR によって設定された既定のタイムアウトか、ICLRPolicyManager::SetTimeout メソッドへの呼び出しでホストによって指定された値のいずれかになります。
ポリシー アクション値の一部は、CLR 操作のタイムアウト動作として指定できます。 通常、SetActionOnTimeout
は動作をエスカレートするためにのみ使用されます。 たとえば、ホストでは、スレッド中止をルード スレッド中止に変換するように指定できますが、逆の指定をすることはできません。 次の表は、有効な operation
の値の有効な action
値を示しています。
operation の値 |
action の有効な値 |
---|---|
OPR_ThreadRudeAbortInNonCriticalRegion OPR_ThreadRudeAbortInCriticalRegion |
- eRudeAbortThread - eUnloadAppDomain - eRudeUnloadAppDomain - eExitProcess - eFastExitProcess - eRudeExitProcess - eDisableRuntime |
OPR_AppDomainUnload | - eUnloadAppDomain - eRudeUnloadAppDomain - eExitProcess - eFastExitProcess - eRudeExitProcess - eDisableRuntime |
OPR_ProcessExit | - eExitProcess - eFastExitProcess - eRudeExitProcess - eDisableRuntime |
必要条件
:「システム要件」を参照してください。
ヘッダー: MSCorEE.h
ライブラリ: MSCorEE.dll にリソースとして含まれます
.NET Framework のバージョン: 2.0 以降で使用可能
関連項目
.NET