次の方法で共有


ICLRTask2::EndPreventAsyncAbort メソッド

新規または保留中のスレッド中止要求で、現在のスレッドを中止できるようにします。

HRESULT EndPreventAsyncAbort();

戻り値

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

HRESULT

説明

S_OK

メソッドは正常に終了しました。

HOST_E_INVALIDOPERATION

メソッドは、現在のスレッドではないスレッドで呼び出されました。

解説

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

ICLRTask2::BeginPreventAsyncAbort および EndPreventAsyncAbort への呼び出しは入れ子にすることができます。 カウンターがゼロよりも大きい値である間は、現在のスレッドのスレッド中止が遅延されます。

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

必要条件

プラットフォーム: 「.NET Framework システム要件」を参照

ヘッダー : MSCorEE.h

ライブラリ: MSCorEE.dll にリソースとして格納されていること

.NET Framework のバージョン: 4

参照

参照

ICLRTask2::BeginPreventAsyncAbort メソッド

ICLRTask2 インターフェイス

ICLRTaskManager インターフェイス

IHostTask インターフェイス

IHostTaskManager インターフェイス

その他の技術情報

ホスト インターフェイス