Partilhar via


Método ICLRTask2::BeginPreventAsyncAbort

Atrasa os novos pedidos de cancelamento de threads resultantes de abortar threads no thread atual.

Syntax

HRESULT BeginPreventAsyncAbort();  

Devolver Valor

Este método devolve os seguintes HRESULTs específicos, bem como erros HRESULT que indicam a falha do método.

HRESULT Description
S_OK O método foi concluído com êxito.
HOST_E_INVALIDOPERATION O método foi chamado num thread que não é o thread atual.

Observações

Chamar este método incrementa o contador delay-thread-abort para o thread atual por um.

As chamadas para BeginPreventAsyncAbort e ICLRTask2::EndPreventAsyncAbort podem ser aninhadas. Desde que o contador seja maior do que zero, os cancelamentos de threads para o thread atual são atrasados. Se esta chamada não estiver emparelhada com uma chamada para o EndPreventAsyncAbort método , é possível alcançar um estado em que os cancelamentos de threads não podem ser entregues no thread atual.

O atraso não é respeitado por um tópico que aborta a si mesmo.

A funcionalidade exposta por esta funcionalidade é utilizada internamente pela máquina virtual (VM). A utilização indevida destes métodos pode causar comportamentos não especificados na VM. Por exemplo, chamar EndPreventAsyncAbort sem a primeira chamada BeginPreventAsyncAbort pode definir o contador como zero quando a VM a incrementou anteriormente. Da mesma forma, o contador interno não está verificado para capacidade excedida. Se exceder o limite integral porque é incrementado pelo anfitrião e pela VM, o comportamento resultante não é especificado.

Requisitos

Plataformas: Veja Requisitos de Sistema.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso no MSCorEE.dll

.NET Framework Versões: Disponível desde 4

Ver também