ICLRPolicyManager::SetActionOnFailure-Methode
Gibt die Richtlinienaktion an, die die Common Language Runtime (CLR) ausführen soll, wenn der angegebene Fehler auftritt.
HRESULT SetActionOnFailure (
[in] EClrFailure failure,
[in] EPolicyAction action
);
Parameter
failure
[in] Einer der EClrFailure-Werte, die den Typ des Fehlers angeben, für den eine Aktion erfolgen soll.action
[in] Einer der EPolicyAction-Werte, die angeben, welche Aktion erfolgen soll, wenn ein Fehler auftritt. Eine Liste der unterstützten Werte finden Sie im Abschnitt "Hinweise".
Rückgabewert
HRESULT |
Beschreibungen |
---|---|
S_OK |
SetActionOnFailure erfolgreich zurückgegeben. |
HOST_E_CLRNOTAVAILABLE |
Die CLR wurde nicht in einen Prozess geladen oder befindet sich in einem Zustand, in dem sie weder verwalteten Code ausführen noch den Aufruf erfolgreich verarbeiten kann. |
HOST_E_TIMEOUT |
Der Aufruf hat das Zeitlimit überschritten. |
HOST_E_NOT_OWNER |
Der Aufrufer ist nicht Besitzer der Sperre. |
HOST_E_ABANDONED |
Ein Ereignis wurde abgebrochen, während ein blockierter Thread oder eine blockierte Fiber auf das Ereignis gewartet hat. |
E_FAIL |
Ein unbekannter, schwerwiegender Fehler ist aufgetreten. Nachdem eine Methode E_FAIL zurückgegeben hat, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden 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. |
Hinweise
Standardmäßig löst die CLR eine Ausnahme aus, wenn sie eine Ressource wie Arbeitsspeicher nicht zuordnen kann. SetActionOnFailure ermöglicht dem Host, dieses Verhalten zu überschreiben, indem eine Richtlinienaktion angegeben wird, die bei einem Fehler erfolgen soll. Die folgende Tabelle enthält die Kombinationen aus unterstütztenEClrFailure- und EPolicyAction-Werten. (Das Präfix FAIL_ wird in EClrFailure-Werten ausgelassen.)
NonCriticalResource |
CriticalResource |
FatalRuntime |
OrphanedLock |
StackOverflow |
AccessViolation |
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 |
Nicht zutreffend |
Anforderungen
Plattformen: siehe Systemanforderungen für .NET Framework.
Header: MSCorEE.h
Bibliothek: als Ressource in MSCorEE.dll enthalten
.NET Framework-Versionen: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Siehe auch
Referenz
ICLRPolicyManager-Schnittstelle
Änderungsprotokoll
Datum |
Versionsgeschichte |
Grund |
---|---|---|
Juli 2010 |
Die zulässigen Kombinationen von EClrFailure- und EPolicyAction-Werten wurden korrigiert und in einer Tabelle zusammengefasst. |
Korrektur inhaltlicher Fehler. |