Freigeben über


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.

ms164570.alert_caution(de-de,VS.90).gifWichtiger Hinweis:

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

Siehe auch

Referenz

ICLRTask-Schnittstelle

ICLRTaskManager-Schnittstelle

IHostTask-Schnittstelle

IHostTaskManager-Schnittstelle