Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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