共用方式為


ICLRTask2::BeginPreventAsyncAbort 方法

延遲新的執行緒中止要求,以免導致目前執行緒上的執行緒中止。

語法

HRESULT BeginPreventAsyncAbort();  

傳回值

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

HRESULT 描述
S_OK 已成功完成命令。
HOST_E_INVALIDOPERATION 此方法是在不是目前執行緒的執行緒上呼叫。

備註

呼叫此方法會使目前執行緒的 delay-thread-abort 計數器遞增一。

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

本身中止的執行緒不接受延遲。

此功能所公開的功能會由虛擬機器 (VM) 在內部使用。 誤用這些方法可能導致 VM 出現未指定的行為。 例如,當 VM 先前遞增計數器時,在未先呼叫 BeginPreventAsyncAbort 的情況下呼叫 EndPreventAsyncAbort 可能會將計數器設定為零。 同樣地,不會檢查內部計數器是否溢位。 如果計數器因為主機和 VM 都會使其遞增而超過其整數限制,則未指定產生的行為。

規格需求

平台:請參閱系統需求

標題: MSCorEE.h

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

.NET Framework版本:自 4 起可用

另請參閱