ICLRTask2::BeginPreventAsyncAbort 方法
延遲新的執行緒中止要求,以免導致目前執行緒上的執行緒中止。
語法
HRESULT BeginPreventAsyncAbort();
傳回值
這個方法會傳回下列特定的 HRESULT,以及表示方法失敗的 HRESULT 錯誤。
HRESULT | 描述 |
---|---|
S_OK | 已成功完成命令。 |
HOST_E_INVALIDOPERATION | 此方法是在不是目前執行緒的執行緒上呼叫。 |
備註
呼叫此方法會使目前執行緒的 delay-thread-abort 計數器遞增一。
對 BeginPreventAsyncAbort
和 ICLRTask2::EndPreventAsyncAbort的呼叫可以巢狀化。 只要計數器大於零,目前執行緒的執行緒中止就會延遲。 如果此呼叫未與對 EndPreventAsyncAbort
方法的呼叫配對,有可能觸達執行緒中止無法傳遞至目前執行緒的狀態。
本身中止的執行緒不接受延遲。
此功能所公開的功能會由虛擬機器 (VM) 在內部使用。 誤用這些方法可能導致 VM 出現未指定的行為。 例如,當 VM 先前遞增計數器時,在未先呼叫 BeginPreventAsyncAbort
的情況下呼叫 EndPreventAsyncAbort
可能會將計數器設定為零。 同樣地,不會檢查內部計數器是否溢位。 如果計數器因為主機和 VM 都會使其遞增而超過其整數限制,則未指定產生的行為。
規格需求
平台:請參閱系統需求。
標題: MSCorEE.h
程式庫:包含作為 MSCorEE.dll 中的資源
.NET Framework版本:自 4 起可用