Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Benachrichtigt den Host, dass die zurzeit ausgeführte Aufgabe im Begriff ist, die Common Language Runtime (CLR) zu verlassen und in nicht verwalteten Code einzutreten.
Wichtig |
|---|
Ein entsprechender Aufruf von IHostTaskManager::EnterRuntime benachrichtigt den Host, dass die zurzeit ausgeführte Aufgabe wieder in verwalteten Code eintritt. |
HRESULT LeaveRuntime (
[in] SIZE_T target
);
Parameter
- target
[in] Die Adresse der aufzurufenden nicht verwalteten Funktion innerhalb der zugeordneten übertragbaren ausführbaren Datei.
Rückgabewert
HRESULT |
Beschreibungen |
|---|---|
S_OK |
LeaveRuntime 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. Wenn eine Methode E_FAIL zurückgibt, kann die CLR innerhalb des Prozesses nicht mehr verwendet werden. Nachfolgende Aufrufe von Hostmethoden geben HOST_E_CLRNOTAVAILABLE zurück. |
E_OUTOFMEMORY |
Zur Erfüllung der Belegungsanforderung ist nicht genügend Arbeitsspeicher verfügbar. |
Hinweise
Aufrufsequenzen zu und aus nicht verwaltetem Code können geschachtelt werden. Die Liste unten beschreibt zum Beispiel eine hypothetische Situation, in der die Reihenfolge der Aufrufe von LeaveRuntime, IHostTaskManager::ReverseEnterRuntime, IHostTaskManager::ReverseLeaveRuntime und IHostTaskManager::EnterRuntime dem Host die Identifizierung der geschachtelten Ebenen ermöglicht.
Aktion |
Entsprechender Methodenaufruf |
|---|---|
Eine verwaltete ausführbare Visual Basic-Datei ruft mit einem Plattformaufruf eine nicht verwaltete, in C geschriebene Funktion auf. |
IHostTaskManager::LeaveRuntime |
Die nicht verwaltete C-Funktion ruft in einer verwalteten, in C# geschriebenen DLL eine Methode auf. |
IHostTaskManager::ReverseEnterRuntime |
Die verwaltete C#-Funktion ruft ebenfalls mit einem Plattformaufruf eine nicht verwaltete, in C geschriebene Funktion auf. |
IHostTaskManager::LeaveRuntime |
Die zweite nicht verwaltete Funktion gibt die Ausführung an die C#-Funktion zurück. |
IHostTaskManager::EnterRuntime |
Die C#-Funktion gibt die Ausführung an die erste nicht verwaltete Funktion zurück. |
IHostTaskManager::ReverseLeaveRuntime |
Die erste nicht verwaltete Funktion gibt die Ausführung an das Visual Basic-Programm zurück. |
IHostTaskManager::EnterRuntime |
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
Wichtig