Compartir a través de


ICLRTask2 (Interfaz)

Proporciona toda la funcionalidad de la interfaz ICLRTask, así como métodos que permiten retrasar las anulaciones de subproceso en el subproceso actual.

Métodos

Método

Descripción

ICLRTask2::BeginPreventAsyncAbort (Método)

Retrasa las nuevas solicitudes de anulación de subproceso en el subproceso actual.

ICLRTask2::EndPreventAsyncAbort (Método)

Permite que las solicitudes de anulación de subproceso nuevas o pendientes anulen el subproceso actual.

Comentarios

La interfaz ICLRTask2 hereda la interfaz ICLRTask y agrega métodos que permiten al host retrasar las anulaciones de subproceso para proteger una región de código en la que no se debe producir un error. La llamada a BeginPreventAsyncAbort incrementa el contador de anulaciones de subproceso con retraso para el subproceso actual y la llamada a EndPreventAsyncAbort lo reduce. Las llamadas a BeginPreventAsyncAbort y EndPreventAsyncAbort pueden anidarse. Siempre y cuando el contador sea mayor que cero, las anulaciones para el subproceso actual se retrasan.

Si las llamadas a BeginPreventAsyncAbort y EndPreventAsyncAbort no están emparejadas, es posible llegar a un estado en el que las anulaciones de subproceso no se puedan entregar al subproceso actual.

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

La máquina virtual (VM) usa internamente la funcionalidad expuesta por esta característica. El mal uso de estos métodos puede producir un comportamiento no especificado en la máquina virtual. Por ejemplo, llamar a EndPreventAsyncAbort sin llamar primero a BeginPreventAsyncAbort podría establecer el contador en cero cuando la máquina virtual lo ha incrementado previamente. Del mismo modo, no se comprueba el desbordamiento del contador interno. Si supera su límite total porque el host y la máquina virtual lo incrementan, el comportamiento resultante no está especificado.

Para obtener información sobre los miembros heredados de ICLRTask y sobre los otros usos de esta interfaz, vea la interfaz ICLRTask.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: MSCorEE.h

Biblioteca: Se incluye como recurso en MsCorEE.dll

Versiones de .NET Framework: 4

Vea también

Referencia

ICLRTask (Interfaz)

ICLRTaskManager (Interfaz)

IHostTask (Interfaz)

IHostTaskManager (Interfaz)

Otros recursos

Interfaces de hospedaje