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.