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