ICLRTask2::EndPreventAsyncAbort 方法
允许新线程或挂起线程中止请求,导致在当前线程上中止线程。
语法
HRESULT EndPreventAsyncAbort();
返回值
此方法返回以下特定 HRESULT 以及表示方法失败的 HRESULT 错误。
HRESULT | 说明 |
---|---|
S_OK | 该方法已成功完成。 |
HOST_E_INVALIDOPERATION | 在不是当前线程的线程上调用了此方法。 |
注解
调用此方法会按 1 递减当前线程的延迟-线程-中止计数器。
可以嵌套对 ICLRTask2::BeginPreventAsyncAbort 和 EndPreventAsyncAbort
的调用。 只要计数器大于零,当前线程的线程中止将延迟。
此特性公开的功能由虚拟机 (VM) 在内部使用。 滥用这些方法可能会导致 VM 中出现未指定的行为。 例如,如果 VM 之前已递增计数器,则在未调用 BeginPreventAsyncAbort
之前调用 EndPreventAsyncAbort
可能将计数器设置为零。 同样,不会检查内部计数器是否溢出。 如果内部计数器由于主机和 VM 对它进行递增而超出它的整数限制,则不指定结果行为。
要求
平台:请参阅系统要求。
标头:MSCorEE.h
库:作为资源包含在 MSCorEE.dll 中
.NET Framework 版本:自 4 起可用