Método ICLRPolicyManager::SetDefaultAction
Especifica a ação de política que o CLR (Common Language Runtime) deve executar quando ocorre a operação especificada.
Sintaxe
HRESULT SetDefaultAction (
[in] EClrOperation operation,
[in] EPolicyAction action
);
Parâmetros
operation
[in] Um dos valores EClrOperation, indicando a ação para a qual o comportamento CLR deve ser personalizado.
action
[in] Um dos valores EPolicyAction indicando a ação de política que o CLR deve tomar quando ocorrer operation
.
Valor Retornado
HRESULT | Descrição |
---|---|
S_OK | SetDefaultAction retornado com êxito. |
HOST_E_CLRNOTAVAILABLE | O CLR não foi carregado em um processo, ou o CLR está em um estado no qual não pode executar código gerenciado ou processar a chamada com êxito. |
HOST_E_TIMEOUT | Uma chamada atingiu o tempo limite. |
HOST_E_NOT_OWNER | O chamador não possui o bloqueio. |
HOST_E_ABANDONED | Um evento foi cancelado enquanto uma fibra ou um thread bloqueado estava esperando por ele. |
E_FAIL | Uma falha catastrófica desconhecida ocorreu. Depois que um método retorna E_FAIL, o CLR não pode mais ser usado no processo. Chamadas subsequentes para métodos de hospedagem retornam HOST_E_CLRNOTAVAILABLE. |
E_INVALIDARG | Foi especificado um valor inválido action para operation , ou foi fornecido um valor inválido para operation . |
Comentários
Nem todos os valores de ação de política podem ser especificados como o comportamento padrão para operações de CLR. SetDefaultAction
normalmente pode ser usado apenas para escalar o comportamento. Por exemplo, um host pode especificar que as anulações de thread sejam transformadas em anulações de thread rudes, mas não podem especificar o oposto. A tabela abaixo descreve os valores válidos action
para cada valor possível operation
.
Valor para operation |
Valores válidos para action |
---|---|
OPR_ThreadAbort | - eAbortThread - eRudeAbortThread - eUnloadAppDomain - eRudeUnloadAppDomain - eExitProcess - eFastExitProcess - eRudeExitProcess - eDisableRuntime |
OPR_ThreadRudeAbortInNonCriticalRegion OPR_ThreadRudeAbortInCriticalRegion |
- eRudeAbortThread - eUnloadAppDomain - eRudeUnloadAppDomain - eExitProcess - eFastExitProcess - eRudeExitProcess - eDisableRuntime |
OPR_AppDomainUnload | - eUnloadAppDomain - eRudeUnloadAppDomain - eExitProcess - eFastExitProcess - eRudeExitProcess - eDisableRuntime |
OPR_AppDomainRudeUnload | - eRudeUnloadAppDomain - eExitProcess - eFastExitProcess - eRudeExitProcess - eDisableRuntime |
OPR_ProcessExit | - eExitProcess - eFastExitProcess - eRudeExitProcess - eDisableRuntime |
OPR_FinalizerRun | - eNoAction - eAbortThread - eRudeAbortThread - eUnloadAppDomain - eRudeUnloadAppDomain - eExitProcess - eFastExitProcess - eRudeExitProcess - eDisableRuntime |
Requisitos
Plataformas: confira Requisitos do sistema.
Cabeçalho: MSCorEE.h
Biblioteca: incluída como um recurso no MSCorEE.dll
Versões do .NET Framework: disponíveis desde 2.0