次の方法で共有


ICLRTask2::EndPreventAsyncAbort メソッド

新規または保留中のスレッド中止要求を許可し、現在のスレッドでスレッドを中止します。

構文

HRESULT EndPreventAsyncAbort();  

戻り値

このメソッドは、次の特定の HRESULT と、メソッドの失敗を示す HRESULT エラーも返します。

HRESULT 説明
S_OK メソッドは正常に完了しました。
HOST_E_INVALIDOPERATION メソッドは、現在のスレッドではないスレッドで呼び出されました。

解説

このメソッドを呼び出すと、現在のスレッドのスレッド中止遅延カウンターが 1 つずつ減分されます。

ICLRTask2::BeginPreventAsyncAbortEndPreventAsyncAbort の呼び出しは、入れ子にすることができます。 カウンターが 0 より大きい限り、現在のスレッドのスレッド中止は遅延されます。

この機能によって公開されている機能は、仮想マシン (VM) によって内部的に使用されます。 これらのメソッドを誤用すると、VM で不特定の動作が発生する可能性があります。 たとえば、最初に BeginPreventAsyncAbort を呼び出さずに EndPreventAsyncAbort を呼び出すと、VM で以前に増分したカウンターが 0 に設定される可能性があります。 同様に、内部カウンターのオーバーフローはチェックされません。 ホストと VM の両方によって増分されたことにより整数の制限を超えた場合、結果として得られる動作は不特定です。

必要条件

:システム要件」を参照してください。

ヘッダー: MSCorEE.h

ライブラリ: MSCorEE.dll にリソースとして含まれます

.NET Framework のバージョン: 4 以降で使用可能

関連項目