Enumeração de EClrOperation
Descreve o conjunto de operações para o qual um host pode aplicar ações de política.
typedef enum {
OPR_ThreadAbort,
OPR_ThreadRudeAbortInNonCriticalRegion,
OPR_ThreadRudeAbortInCriticalRegion,
OPR_AppDomainUnload,
OPR_AppDomainRudeUnload,
OPR_ProcessExit,
OPR_FinalizerRun
} EClrOperation;
Membros
Membro |
Descrição |
---|---|
OPR_AppDomainRudeUnload |
O host pode especificar ações de diretiva a ser tomada quando um AppDomain é descarregado em uma forma (rude) - normal. |
OPR_AppDomainUnload |
O host pode especificar ações de diretiva a ser tomada quando um AppDomain é descarregado. |
OPR_FinalizerRun |
O host pode especificar ações de diretiva a ser tomada quando a execução de finalizadores. |
OPR_ProcessExit |
O host pode especificar ações de diretiva a ser tomada quando o processo for encerrado. |
OPR_ThreadAbort |
O host pode especificar ações de diretiva a ser tomada quando um thread for anulado. |
OPR_ThreadRudeAbortInCriticalRegion |
O host pode especificar ações de diretiva a ser tomada quando uma anulação de thread rude ocorre em uma região crítica do código. |
OPR_ThreadRudeAbortInNonCriticalRegion |
O host pode especificar ações de política para ser executada quando ocorre de anulação rude de thread em uma região não-crítica do código. |
Comentários
O common language runtime (CLR) confiabilidade infrastructure distingue entre recursos e anulações de falhas de alocação que ocorrem em regiões críticas de código e aqueles que ocorrem em regiões não-críticas do código. Essa distinção é projetada para permitir que os hosts definir diretivas diferentes, dependendo de onde ocorre a uma falha no código.
A uma região crítica do código de é qualquer espaço onde o CLR não garante que anulando a uma tarefa ou uma falha ao concluir uma solicitação para recursos afetarão apenas a tarefa atual. Por exemplo, se uma tarefa está mantendo um bloqueio e recebe um HRESULT que indica falha ao fazer uma solicitação de alocação de memória, é suficiente simplesmente para anular essa tarefa para garantir a estabilidade da AppDomain, porque o AppDomain pode conter outras tarefas aguardando o mesmo bloqueio. Para abandonar a atual tarefa pode causar as outras tarefas parar de responder (ou travar) indefinidamente. Nesse caso, o host precisa a capacidade de descarregar todo o AppDomain em vez de instabilidade possíveis riscos.
A uma região não-críticas do código, por outro lado, é uma região onde o CLR pode garantir uma anulação ou uma falha afeta apenas a tarefa na qual o erro ocorre.
O CLR também distingue entre normais e não normais anulações (rudes). Em geral, uma anulação normal ou normal faz todos os esforços para executar as rotinas de tratamento de exceção e finalizadores antes de anular uma tarefa, enquanto uma anulação rude não garante tal.
Requisitos
Plataformas: Consulte Requisitos de sistema do .NET Framework.
Cabeçalho: MSCorEE.h
Biblioteca: Mscoree
.NET Framework versões: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Consulte também
Referência
Interface de IHostPolicyManager