Condividi tramite


Metodo ICLRPolicyManager::SetActionOnTimeout

Specifica l'azione dei criteri che deve essere eseguita da Common Language Runtime allo scadere del timeout dell'operazione specificata.

HRESULT SetActionOnTimeout (
    [in] EClrOperation operation,
    [in] EPolicyAction action
);

Parametri

  • operation
    [in] Uno dei valori di EClrOperation, che indica l'operazione per la quale è necessario specificare l'azione di timeout. Sono supportati i seguenti valori:

    • OPR_AppDomainUnload

    • OPR_ProcessExit

    • OPR_ThreadRudeAbortInCriticalRegion

    • OPR_ThreadRudeAbortInNonCriticalRegion

  • action
    [in] Uno dei valori di EPolicyAction, che indica l'azione dei criteri da eseguire allo scadere del timeout dell'operazione.

Valore restituito

HRESULT

Oggetto di descrizione

S_OK

SetActionOnTimeout ha restituito correttamente un valore.

HOST_E_CLRNOTAVAILABLE

Common Language Runtime non è stato caricato in un processo oppure si trova in uno stato in cui non è possibile eseguire codice gestito né elaborare correttamente la chiamata.

HOST_E_TIMEOUT

Timeout della chiamata.

HOST_E_NOT_OWNER

Il chiamante non è il proprietario del blocco.

HOST_E_ABANDONED

Un evento è stato annullato mentre un thread o un fiber bloccato era in attesa di tale evento.

E_FAIL

Si è verificato un errore irreversibile sconosciuto. Se un metodo restituisce E_FAIL, CLR non sarà più utilizzabile all'interno del processo. Le successive chiamate ai metodi di hosting restituiranno HOST_E_CLRNOTAVAILABLE.

E_INVALIDARG

Non è possibile impostare un timeout per l'operazione specificata nel parametro operation oppure è stato fornito un valore non valido per il parametro operation.

Note

Il valore di timeout può essere quello predefinito in CLR oppure un valore specificato dall'host in una chiamata al metodo ICLRPolicyManager::SetTimeout.

Non tutti i valori delle azioni dei criteri possono essere specificati come comportamento di timeout per le operazioni di Common Language Runtime. SetActionOnTimeout viene in genere utilizzato solo per attivare un comportamento per un livello di gravità superiore. Ad esempio, un host può specificare che le normali interruzioni dei thread vengano trasformate in interruzioni di tipo RudeAbort, ma non è possibile specificare il contrario. Nella tabella seguente vengono descritti i valori action validi per i valori operation validi.

Valore per operation

Valori validi per action

OPR_ThreadRudeAbortInNonCriticalRegion

OPR_ThreadRudeAbortInCriticalRegion

  • eRudeAbortThread

  • eUnloadAppDomain

  • eRudeUnloadAppDomain

  • eExitProcess

  • eFastExitProcess

  • eRudeExitProcess

  • eDisableRuntime

OPR_AppDomainUnload

  • eUnloadAppDomain

  • eRudeUnloadAppDomain

  • eExitProcess

  • eFastExitProcess

  • eRudeExitProcess

  • eDisableRuntime

OPR_ProcessExit

  • eExitProcess

  • eFastExitProcess

  • eRudeExitProcess

  • eDisableRuntime

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: MSCorEE.h

Libreria: inclusa come risorsa in MSCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vedere anche

Riferimenti

Enumerazione EClrOperation

Enumerazione EPolicyAction

Interfaccia ICLRControl

Interfaccia ICLRPolicyManager