Dela via


IHostTaskManager::LeaveRuntime-metod

Meddelar värden att den uppgift som körs just nu håller på att lämna CLR (Common Language Runtime) och ange ohanterad kod.

Viktigt

Ett motsvarande anrop till IHostTaskManager::EnterRuntime meddelar värden att den pågående aktiviteten återaktiverar hanterad kod.

Syntax

HRESULT LeaveRuntime (  
    [in] SIZE_T target  
);  

Parametrar

target
[i] Adressen i den mappade portabla körbara filen för den ohanterade funktion som ska anropas.

Returvärde

HRESULT Description
S_OK LeaveRuntime returnerades korrekt.
HOST_E_CLRNOTAVAILABLE CLR har inte lästs in i en process, eller så är CLR i ett tillstånd där den inte kan köra hanterad kod eller bearbeta anropet.
HOST_E_TIMEOUT Samtalets tidsgräns överst.
HOST_E_NOT_OWNER Anroparen äger inte låset.
HOST_E_ABANDONED En händelse avbröts medan en blockerad tråd eller fiber väntade på den.
E_FAIL Ett okänt oåterkalleligt fel inträffade. När en metod returnerar E_FAIL kan CLR inte längre användas i processen. Efterföljande anrop till värdmetoder returnerar HOST_E_CLRNOTAVAILABLE.
E_OUTOFMEMORY Det finns inte tillräckligt med minne för att slutföra den begärda allokeringen.

Kommentarer

Anropssekvenser till och från ohanterad kod kan kapslas. I listan nedan beskrivs till exempel en hypotetisk situation där sekvensen med anrop till LeaveRuntime, IHostTaskManager::ReverseEnterRuntime, IHostTaskManager::ReverseLeaveRuntime, och IHostTaskManager::EnterRuntime gör att värden kan identifiera de kapslade lagren.

Åtgärd Motsvarande metodanrop
En hanterad körbar Visual Basic anropar en ohanterad funktion som skrivits i C med hjälp av plattformsanrop. IHostTaskManager::LeaveRuntime
Den ohanterade C-funktionen anropar en metod i en hanterad DLL som skrivits i C#. IHostTaskManager::ReverseEnterRuntime
Den hanterade C#-funktionen anropar en annan ohanterad funktion som skrivits i C, även med hjälp av plattformsanrop. IHostTaskManager::LeaveRuntime
Den andra ohanterade funktionen returnerar körning till C#-funktionen. IHostTaskManager::EnterRuntime
C#-funktionen returnerar körningen till den första ohanterade funktionen. IHostTaskManager::ReverseLeaveRuntime
Den första ohanterade funktionen returnerar körning till Visual Basic-programmet. IHostTaskManager::EnterRuntime

Krav

Plattformar: Se Systemkrav.

Huvudet: MSCorEE.h

Bibliotek: Ingår som en resurs i MSCorEE.dll

.NET Framework versioner: Tillgänglig sedan 2.0

Se även