ICLRTask2::BeginPreventAsyncAbort 方法
使新的執行緒中止要求造成目前執行緒上的執行緒中止的結果延遲。
HRESULT BeginPreventAsyncAbort();
傳回值
這個方法會傳回下列特定的 HRESULT,以及表示方法失敗的 HRESULT 錯誤。
HRESULT |
描述 |
---|---|
S_OK |
此方法已成功完成。 |
HOST_E_INVALIDOPERATION |
在不是目前執行緒的執行緒上呼叫方法。 |
備註
呼叫這個方法會使目前執行緒的延遲執行緒中止計數器遞增一。
BeginPreventAsyncAbort 和 ICLRTask2::EndPreventAsyncAbort 的呼叫可以是巢狀。 只要計數器結果大於零,會延遲目前執行緒的執行緒中止。 如果這個呼叫沒有與 EndPreventAsyncAbort 方法的呼叫配對,就可能會達到執行緒中止無法傳遞至目前執行緒的狀態。
自我中止的執行緒就不會執行延遲。
此功能公開的功能供虛擬機器 (VM) 內部使用。 誤用這些方法可能會導致 VM 發生不明的行為。 例如,若 VM 先前已遞增過計數器,則呼叫 EndPreventAsyncAbort 而未先呼叫 BeginPreventAsyncAbort 可能會將計數器設定為零。 同樣地,也不會檢查內部計數器溢位。 如果因為主機和 VM 遞增計數器值而超出其整數限制,則結果行為不明。
需求
**平台:**請參閱 .NET Framework 系統需求。
**標頭:**MSCorEE.h
程式庫:包含做為 MSCorEE.dll 中的資源
**.NET Framework 版本:**4
請參閱
參考
ICLRTask2::EndPreventAsyncAbort 方法