ICLRTask2 (Interfaz)
Proporciona toda la funcionalidad de la interfaz ICLRTask; además, proporciona métodos que permiten retrasar las anulaciones de subprocesos en el subproceso actual.
Métodos
Método | Descripción |
---|---|
Método BeginPreventAsyncAbort | Retrasa las nuevas solicitudes de anulación de subprocesos en el subproceso actual. |
Método EndPreventAsyncAbort | Permite que las solicitudes de anulación de subprocesos nuevas o pendientes produzcan anulaciones de subprocesos en el subproceso actual. |
Comentarios
La interfaz ICLRTask2
hereda la interfaz ICLRTask
y agrega métodos que permiten al host retrasar las anulaciones de subprocesos, para proteger una región de código que no debe producir errores. Llamar a BeginPreventAsyncAbort
incrementa el contador de retrasos de subprocesos para el subproceso actual, y llamar a EndPreventAsyncAbort
lo disminuye. Las llamadas a BeginPreventAsyncAbort
y EndPreventAsyncAbort
se pueden anidar. Siempre que el contador sea mayor que cero, se retrasan las anulaciones de subprocesos para el subproceso actual.
Si las llamadas a BeginPreventAsyncAbort
y EndPreventAsyncAbort
no están emparejadas, es posible llegar a un estado en el que las anulaciones de subprocesos no se pueden entregar 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.
Para obtener información sobre los miembros heredados de ICLRTask
y sobre los otros usos de esta interfaz, consulte la interfaz ICLRTask.
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