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