Freigeben über


ICLRPolicyManager::SetActionOnFailure-Methode

Gibt die Richtlinienaktion an, die die Common Language Runtime (CLR) ausführen soll, wenn der angegebene Fehler auftritt.

Syntax

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

Parameter

failure
[in] Einer der EClrFailure-Werte, der den Typ des Fehlers angibt, für den eine Aktion ausgeführt werden soll.

action
[in] Einer der EPolicyAction-Werte, der angibt, welche Aktion ausgeführt werden soll, wenn ein Fehler auftritt. Eine Liste der unterstützten Werte finden Sie im Abschnitt „Hinweise“.

Rückgabewert

HRESULT BESCHREIBUNG
S_OK SetActionOnFailure wurde erfolgreich zurückgegeben.
HOST_E_CLRNOTAVAILABLE Die CLR wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie keinen verwalteten Code ausführen oder den Aufruf nicht erfolgreich verarbeiten kann.
HOST_E_TIMEOUT Timeout des Aufrufs.
HOST_E_NOT_OWNER Der Aufrufer besitzt die Sperre nicht.
HOST_E_ABANDONED Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber darauf gewartet hat.
E_FAIL Es ist ein unbekannter katastrophaler Fehler aufgetreten. Wenn eine Methode E_FAIL zurückgibt, kann die CLR nicht mehr innerhalb des Prozesses verwendet werden. Nachfolgende Aufrufe von Hostingmethoden geben HOST_E_CLRNOTAVAILABLE zurück.
E_INVALIDARG Für den angegebenen Vorgang kann keine Richtlinienaktion festgelegt werden, oder für den Vorgang wurde eine ungültige Richtlinienaktion angegeben.

Bemerkungen

Standardmäßig löst die CLR eine Ausnahme aus, wenn sie eine Ressource wie z. B. Arbeitsspeicher nicht zuordnen kann. SetActionOnFailure ermöglicht dem Host, dieses Verhalten zu überschreiben, indem die Richtlinienaktion angegeben wird, die bei einem Fehler ausgeführt werden soll. Die folgende Tabelle zeigt die Kombinationen aus unterstützten Werten für EClrFailure (Spalten) und EPolicyAction (Zeilen).

FAIL_NonCriticalResource FAIL_CriticalResource FAIL_FatalRuntime FAIL_OrphanedLock FAIL_StackOverflow FAIL_AccessViolation FAIL_CodeContract
eNoAction X X Nicht zutreffend
eThrowException X X Nicht zutreffend
eAbortThread X X Nicht zutreffend X
eRudeAbortThread X X Nicht zutreffend X
eUnloadAppDomain X X X Nicht zutreffend X
eRudeUnloadAppDomain X X X X Nicht zutreffend X
eExitProcess X X X X Nicht zutreffend X
eFastExitProcess X X X X Nicht zutreffend
eRudeExitProcess X X X X X Nicht zutreffend
eDisableRuntime X X X X X

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: MSCorEE.h

Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten.

.NET Framework-Versionen: Seit 2.0 verfügbar.

Siehe auch