共用方式為


ICLRTask2::BeginPreventAsyncAbort 方法

使新的執行緒中止要求造成目前執行緒上的執行緒中止的結果延遲。

HRESULT BeginPreventAsyncAbort();

傳回值

這個方法會傳回下列特定的 HRESULT,以及表示方法失敗的 HRESULT 錯誤。

HRESULT

描述

S_OK

此方法已成功完成。

HOST_E_INVALIDOPERATION

在不是目前執行緒的執行緒上呼叫方法。

備註

呼叫這個方法會使目前執行緒的延遲執行緒中止計數器遞增一。

BeginPreventAsyncAbortICLRTask2::EndPreventAsyncAbort 的呼叫可以是巢狀。 只要計數器結果大於零,會延遲目前執行緒的執行緒中止。 如果這個呼叫沒有與 EndPreventAsyncAbort 方法的呼叫配對,就可能會達到執行緒中止無法傳遞至目前執行緒的狀態。

自我中止的執行緒就不會執行延遲。

此功能公開的功能供虛擬機器 (VM) 內部使用。 誤用這些方法可能會導致 VM 發生不明的行為。 例如,若 VM 先前已遞增過計數器,則呼叫 EndPreventAsyncAbort 而未先呼叫 BeginPreventAsyncAbort 可能會將計數器設定為零。 同樣地,也不會檢查內部計數器溢位。 如果因為主機和 VM 遞增計數器值而超出其整數限制,則結果行為不明。

需求

**平台:**請參閱 .NET Framework 系統需求

**標頭:**MSCorEE.h

程式庫:包含做為 MSCorEE.dll 中的資源

**.NET Framework 版本:**4

請參閱

參考

ICLRTask2::EndPreventAsyncAbort 方法

ICLRTask2 介面

ICLRTaskManager 介面

IHostTask 介面

IHostTaskManager 介面

其他資源

裝載介面