Partilhar via


Enumeração de EClrOperation

Descreve o conjunto de operações para as quais um anfitrião pode aplicar ações de política.

Syntax

typedef enum {  
    OPR_ThreadAbort,  
    OPR_ThreadRudeAbortInNonCriticalRegion,  
    OPR_ThreadRudeAbortInCriticalRegion,  
    OPR_AppDomainUnload,  
    OPR_AppDomainRudeUnload,  
    OPR_ProcessExit,  
    OPR_FinalizerRun  
} EClrOperation;  

Membros

Membro Description
OPR_AppDomainRudeUnload O anfitrião pode especificar ações políticas a tomar quando uma AppDomain é descarregada de forma não graciosa (rude).
OPR_AppDomainUnload O anfitrião pode especificar as ações de política a realizar quando uma AppDomain é descarregada.
OPR_FinalizerRun O anfitrião pode especificar as ações de política a realizar quando os finalizadores são executados.
OPR_ProcessExit O anfitrião pode especificar as ações de política a tomar quando o processo sair.
OPR_ThreadAbort O anfitrião pode especificar as ações de política a realizar quando um thread é abortado.
OPR_ThreadRudeAbortInCriticalRegion O anfitrião pode especificar as ações de política a realizar quando ocorre uma abortação de thread rude numa região crítica do código.
OPR_ThreadRudeAbortInNonCriticalRegion O anfitrião pode especificar as ações de política a tomar quando ocorre uma abortação rude de um thread numa região de código não crítica.

Observações

A infraestrutura de fiabilidade do runtime de linguagem comum (CLR) distingue entre abortações e falhas de alocação de recursos que ocorrem em regiões críticas de código e as que ocorrem em regiões não críticas de código. Esta distinção foi concebida para permitir que os anfitriões definam políticas diferentes consoante o local onde ocorre uma falha no código.

Uma região crítica do código é qualquer espaço em que o CLR não possa garantir que abortar uma tarefa ou não concluir um pedido de recursos afetará apenas a tarefa atual. Por exemplo, se uma tarefa tiver um bloqueio e receber um HRESULT que indique falhas ao fazer um pedido de alocação de memória, não é suficiente simplesmente abortar essa tarefa para garantir a estabilidade do AppDomain, porque o AppDomain pode conter outras tarefas à espera do mesmo bloqueio. Abandonar a tarefa atual pode fazer com que essas outras tarefas deixem de responder. Neste caso, o anfitrião precisa da capacidade de descarregar o todo AppDomain em vez de arriscar uma potencial instabilidade.

Uma região de código não crítica, por outro lado, é uma região onde o CLR pode garantir que um aborto ou uma falha afetará apenas a tarefa em que ocorre o erro.

O CLR também distingue entre abortos graciosos e não graciosos (rudes). Em geral, um aborto normal ou gracioso faz todos os esforços para executar rotinas e finalizadores de processamento de exceções antes de abortar uma tarefa, enquanto um aborto rude não dá tais garantias.

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: MSCorEE.h

Biblioteca: MSCorEE.dll

.NET Framework Versões: Disponível desde 2.0

Ver também