Freigeben über


EMemoryCriticalLevel

Aktualisiert: November 2007

Enthält Werte, die angeben, was passiert, wenn eine bestimmte Speicherreservierung angefordert wurde, aber nicht erfüllt werden kann.

typedef enum {
    eTaskCritical      = 0,
    eAppDomainCritical = 1,
    eProcessCritical   = 2
} EMemoryCriticalLevel;

Member

Member

Beschreibung

eAppDomainCritical

Gibt an, dass die Reservierung für die Ausführung verwalteten Codes in der Domäne, die die Reservierung angefordert hat, entscheidend ist. Wenn Arbeitsspeicher nicht reserviert werden kann, kann die CLR nicht gewährleisten, dass die Domäne immer noch verwendbar ist. Der Host entscheidet, welche Aktion erfolgen soll, wenn die Reservierung nicht möglich ist. Er kann die CLR anweisen, die AppDomain automatisch abzubrechen oder ihr durch Aufruf von Methoden für ICLRPolicyManager die weitere Ausführung zu erlauben.

eProcessCritical

Gibt an, dass die Reservierung für die Ausführung verwalteten Codes im Prozess entscheidend ist. Dieser Wert wird beim Start und beim Ausführen von Finalizern verwendet. Wenn Arbeitsspeicher nicht reserviert werden kann, kann die CLR im Prozess nicht verwendet werden. Wenn die Reservierung nicht erfolgreich ist, ist die CLR komplett deaktiviert. Alle nachfolgenden Aufrufe der CLR schlagen mit HOST_E_CLRNOTAVAILABLE fehl.

eTaskCritical

Gibt an, dass die Reservierung für die Ausführung der Aufgabe, die die Reservierung angefordert hat, entscheidend ist. Wenn kein Arbeitsspeicher reserviert werden kann, kann die CLR nicht gewährleisten, dass die Aufgabe ausgeführt werden kann. Bei einem Fehler löst die CLR eine ThreadAbortException auf dem physischen Betriebssystemthread aus.

Hinweise

Die in der IHostMemoryManager-Schnittstelle und in der IHostMAlloc-Schnittstelle definierten Speicherreservierungsmethoden akzeptieren einen Parameter dieses Typs. Je nach Schweregrad eines Fehlers kann ein Host entscheiden, ob die Reservierungsanforderung sofort zu einem Fehler führt oder ob gewartet werden soll, bis sie erfüllt werden kann.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: MSCorEE.idl

Bibliothek: MSCorEE.dll

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

ICLRMemoryNotificationCallback

Weitere Ressourcen

Hosten von Enumerationen