Compartir a través de


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

Consulte también