ICLRTask2::EndPreventAsyncAbort 方法

允许新线程或挂起线程中止请求,导致在当前线程上中止线程。

语法

HRESULT EndPreventAsyncAbort();  

返回值

此方法返回以下特定 HRESULT 以及表示方法失败的 HRESULT 错误。

HRESULT 说明
S_OK 该方法已成功完成。
HOST_E_INVALIDOPERATION 在不是当前线程的线程上调用了此方法。

注解

调用此方法会按 1 递减当前线程的延迟-线程-中止计数器。

可以嵌套对 ICLRTask2::BeginPreventAsyncAbortEndPreventAsyncAbort 的调用。 只要计数器大于零,当前线程的线程中止将延迟。

此特性公开的功能由虚拟机 (VM) 在内部使用。 滥用这些方法可能会导致 VM 中出现未指定的行为。 例如,如果 VM 之前已递增计数器,则在未调用 BeginPreventAsyncAbort 之前调用 EndPreventAsyncAbort 可能将计数器设置为零。 同样,不会检查内部计数器是否溢出。 如果内部计数器由于主机和 VM 对它进行递增而超出它的整数限制,则不指定结果行为。

要求

平台:请参阅系统要求

标头:MSCorEE.h

库:作为资源包含在 MSCorEE.dll 中

.NET Framework 版本:自 4 起可用

另请参阅