Freigeben über


ICLRPolicyManager::SetActionOnTimeout-Methode

Gibt die Richtlinienaktion an, die die Common Language Runtime (CLR) ausführen soll, wenn der angegebene Vorgang das Zeitlimit überschritten hat.

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

Parameter

  • operation
    [in] Einer der EClrOperation-Werte, der den Vorgang angibt, für den die Timeoutaktion festgelegt werden soll. Die folgenden Werte werden unterstützt:

    • OPR_AppDomainUnload

    • OPR_ProcessExit

    • OPR_ThreadRudeAbortInCriticalRegion

    • OPR_ThreadRudeAbortInNonCriticalRegion

  • action
    [in] Einer der EPolicyAction-Werte, der die Richtlinienaktion angibt, die ausgeführt werden soll, wenn der Vorgang das Zeitlimit überschreitet.

Rückgabewert

HRESULT

Beschreibungen

S_OK

SetActionOnTimeout 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 operation kann kein Timeout festgelegt werden, oder für operation wurde ein ungültiger Wert angegeben.

Hinweise

Der Timeoutwert kann das von der CLR festgelegte Standardtimeout oder ein Wert, der vom Host in einem Aufruf der ICLRPolicyManager::SetTimeout-Methode angegeben wird, sein.

Nicht alle Richtlinienaktionswerte können für CLR-Vorgänge als Timeoutverhalten angegeben werden. SetActionOnTimeout wird normalerweise nur zur Eskalation von Verhalten verwendet. So kann z. B. ein Host angeben, dass Threadabbrüche in ordnungswidrige Abbrüche umdefiniert werden, jedoch nicht das Gegenteil. Die Tabelle unten beschreibt die gültigen action-Werte für gültige operation-Werte.

Wert für operation

Gültige Werte für 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

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

EClrOperation-Enumeration

EPolicyAction-Enumeration

ICLRControl-Schnittstelle

ICLRPolicyManager-Schnittstelle