Partilhar via


Método ICLRPolicyManager::SetActionOnFailure

Especifica a ação de política que o runtime de idioma comum (CLR) deve tomar quando ocorre a falha especificada.

Sintaxe

HRESULT SetActionOnFailure (  
    [in] EClrFailure   failure,  
    [in] EPolicyAction action  
);  

Parâmetros

failure
[in] Um dos valores EClrFailure , que indica o tipo de falha para o qual tomar medidas.

action
[in] Um dos valores EPolicyAction , que indica a ação a tomar quando ocorre uma falha. Para obter uma lista de valores suportados, veja a secção Observações.

Devolver Valor

HRESULT Description
S_OK SetActionOnFailure devolvido com êxito.
HOST_E_CLRNOTAVAILABLE O CLR não foi carregado para um processo ou o CLR está num estado em que não pode executar código gerido ou processar a chamada com êxito.
HOST_E_TIMEOUT A chamada excedeu o limite de tempo.
HOST_E_NOT_OWNER O autor da chamada não é o proprietário do bloqueio.
HOST_E_ABANDONED Um evento foi cancelado enquanto um thread ou fibra bloqueado estava à espera do mesmo.
E_FAIL Ocorreu uma falha catastrófica desconhecida. Depois de um método devolver E_FAIL, o CLR já não é utilizável no processo. As chamadas subsequentes para métodos de alojamento devolvem HOST_E_CLRNOTAVAILABLE.
E_INVALIDARG Não é possível definir uma ação de política para a operação especificada ou foi especificada uma ação de política inválida para a operação.

Observações

Por predefinição, o CLR lança uma exceção quando não consegue alocar um recurso, como a memória. SetActionOnFailure permite ao anfitrião substituir este comportamento ao especificar a ação de política a tomar após a falha. A tabela seguinte mostra as combinações de valores EClrFailure (colunas) e EPolicyAction (linhas) suportados.

FAIL_NonCriticalResource FAIL_CriticalResource FAIL_FatalRuntime FAIL_OrphanedLock FAIL_StackOverflow FAIL_AccessViolation FAIL_CodeContract
eNoAction X X N/D
eThrowException X X N/D
eAbortThread X X N/D X
eRudeAbortThread X X N/D X
eUnloadAppDomain X X X N/D X
eRudeUnloadAppDomain X X X X N/D X
eExitProcess X X X X N/D X
eFastExitProcess X X X X N/D
eRudeExitProcess X X X X X N/D
eDisableRuntime X X X X X N/D

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: MSCorEE.h

Biblioteca: Incluído como um recurso no MSCorEE.dll

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

Ver também