ICLRTask2::BeginPreventAsyncAbort (Método)
Retrasa que las nuevas solicitudes de anulación de subprocesos produzcan anulaciones en el subproceso actual.
HRESULT BeginPreventAsyncAbort();
Valor devuelto
Este método devuelve los siguientes HRESULT específicos, así como errores HRESULT que indican la existencia de un error en el método.
HRESULT |
Descripción |
---|---|
S_OK |
El método se ha ejecutado correctamente. |
HOST_E_INVALIDOPERATION |
Se llamó al método en un subproceso que no es el subproceso actual. |
Comentarios
Al llamar a este método se incrementa en uno el contador de anulaciones de subprocesos con retraso para el subproceso actual.
Las llamadas a BeginPreventAsyncAbort e ICLRTask2::EndPreventAsyncAbort pueden estar anidadas. Siempre y cuando el contador sea mayor que cero, las anulaciones para el subproceso actual se retrasan. Si esta llamada no lleva emparejada una llamada al método EndPreventAsyncAbort, 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.
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
ICLRTask2::EndPreventAsyncAbort (Método)