Compartir a través de


ICLRTask2::BeginPreventAsyncAbort (Método)

Retrasa las solicitudes nuevas de anulación de subprocesos que dan como resultado anulaciones de subprocesos en el subproceso actual.

Sintaxis

HRESULT BeginPreventAsyncAbort();  

Valor devuelto

Este método devuelve los siguientes HRESULT específicos y los errores HRESULT que indican un error del método.

HRESULT Descripción
S_OK El método se completó correctamente.
HOST_E_INVALIDOPERATION Se llamó al método en un subproceso que no es el actual.

Comentarios

Al llamar a este método, se incrementa el contador delay-thread-abort para el subproceso actual en uno.

Las llamadas a BeginPreventAsyncAbort e ICLRTask2::EndPreventAsyncAbort se pueden anidar. Siempre que el contador sea mayor que cero, se retrasan las anulaciones de subprocesos para el subproceso actual. Si esta llamada no está emparejada con una llamada al método EndPreventAsyncAbort, es posible alcanzar un estado en el que no se puedan entregar anulaciones de subprocesos al subproceso actual.

El retraso no se respeta para un subproceso que se anula a sí mismo.

La máquina virtual (VM) usa internamente la función que expone esta característica. El uso incorrecto de estos métodos puede provocar un comportamiento no especificado en la máquina virtual. Por ejemplo, llamar a EndPreventAsyncAbort sin llamar antes a BeginPreventAsyncAbort podría establecer el contador en cero cuando la máquina virtual lo ha incrementado previamente. Del mismo modo, el contador interno no se comprueba si hay desbordamiento. Si supera su límite para enteros porque lo incrementan el host y la máquina virtual, no se especifica el comportamiento resultante.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: MSCorEE.h

Biblioteca: incluida como recurso en MSCorEE.dll

Versiones de .NET Framework: disponible a partir de la versión 4

Consulte también