Delen via


Methode IHostTaskManager::LeaveRuntime

Hiermee wordt de host gewaarschuwd dat de taak die momenteel wordt uitgevoerd, op het punt staat de COMMON Language Runtime (CLR) te verlaten en onbeheerde code in te voeren.

Belangrijk

Een bijbehorende aanroep van IHostTaskManager::EnterRuntime meldt de host dat de momenteel uitgevoerde taak beheerde code opnieuw invoert.

Syntaxis

HRESULT LeaveRuntime (  
    [in] SIZE_T target  
);  

Parameters

target
[in] Het adres in het toegewezen draagbare uitvoerbare bestand van de onbeheerde functie die moet worden aangeroepen.

Retourwaarde

HRESULT Beschrijving
S_OK LeaveRuntime is geretourneerd.
HOST_E_CLRNOTAVAILABLE De CLR is niet geladen in een proces of de CLR heeft een status waarin beheerde code niet kan worden uitgevoerd of de aanroep kan worden verwerkt.
HOST_E_TIMEOUT Er is een time-out opgetreden voor het gesprek.
HOST_E_NOT_OWNER De beller is niet de eigenaar van het slot.
HOST_E_ABANDONED Een gebeurtenis is geannuleerd terwijl er een geblokkeerde thread of glasvezel op wachtte.
E_FAIL Er is een onbekende catastrofale fout opgetreden. Wanneer een methode E_FAIL retourneert, is de CLR niet meer bruikbaar binnen het proces. Volgende aanroepen naar hostingmethoden retourneren HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORY Er is onvoldoende geheugen beschikbaar om de aangevraagde toewijzing te voltooien.

Opmerkingen

Oproepreeksen van en naar niet-beheerde code kunnen worden genest. In de onderstaande lijst wordt bijvoorbeeld een hypothetische situatie beschreven waarin de volgorde van aanroepen naar LeaveRuntime, IHostTaskManager::ReverseEnterRuntime, IHostTaskManager::ReverseLeaveRuntime, en IHostTaskManager::EnterRuntime de host de geneste lagen kan identificeren.

Actie Overeenkomende methode-aanroep
Een beheerd uitvoerbaar visual basic-bestand roept een onbeheerde functie aan die is geschreven in C met behulp van platformaanroep. IHostTaskManager::LeaveRuntime
De niet-beheerde C-functie roept een methode aan in een beheerde DLL die is geschreven in C#. IHostTaskManager::ReverseEnterRuntime
De beheerde C#-functie roept een andere onbeheerde functie aan die is geschreven in C, waarbij ook platform-aanroep wordt gebruikt. IHostTaskManager::LeaveRuntime
De tweede onbeheerde functie retourneert de uitvoering naar de C#-functie. IHostTaskManager::EnterRuntime
De C#-functie retourneert de uitvoering van de eerste onbeheerde functie. IHostTaskManager::ReverseLeaveRuntime
De eerste onbeheerde functie retourneert de uitvoering naar het Visual Basic-programma. IHostTaskManager::EnterRuntime

Vereisten

Platforms: Zie Systeemvereisten.

Header: MSCorEE.h

Bibliotheek: Opgenomen als een resource in MSCorEE.dll

.NET Framework versies: beschikbaar sinds 2.0

Zie ook