Compartilhar via


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

Enumeração de EClrFailure

Enumeração de EPolicyAction

Interface ICLRPolicyManager

Interface de IHostPolicyManager

Outros recursos

Enumerações de hospedagem.