IHostTaskManager::LeaveRuntime-Methode
Aktualisiert: November 2007
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.
![]() |
---|
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 |
Beschreibung |
---|---|
S_OK |
LeaveRuntime kehrte erfolgreich zurück. |
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 Reservierungsanforderung 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.idl
Bibliothek: als Ressource in MSCorEE.dll enthalten
.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0