IHostTaskManager::LeaveRuntime – metoda
Upozorní hostitele, že aktuálně spouštěná úloha opustí modul CLR (Common Language Runtime) a zadá nespravovaný kód.
Důležité
Odpovídající volání IHostTaskManager::EnterRuntime oznámí hostiteli, že právě spuštěná úloha znovu zadává spravovaný kód.
Syntaxe
HRESULT LeaveRuntime (
[in] SIZE_T target
);
Parametry
target
[v] Adresa v namapovaném přenosném spustitelném souboru nespravované funkce, která se má volat.
Návratová hodnota
HRESULT | Description |
---|---|
S_OK | LeaveRuntime úspěšně vráceno. |
HOST_E_CLRNOTAVAILABLE | ClR nebyl načten do procesu nebo clr je ve stavu, ve kterém nemůže spustit spravovaný kód nebo úspěšně zpracovat volání. |
HOST_E_TIMEOUT | Časový limit hovoru vypršel. |
HOST_E_NOT_OWNER | Volající zámek nevlastní. |
HOST_E_ABANDONED | Událost byla zrušena, když na ni čekalo blokované vlákno nebo vlákno. |
E_FAIL | Došlo k neznámému katastrofickému selhání. Když metoda vrátí E_FAIL, CLR už není v rámci procesu použitelný. Následná volání metod hostování vrátí HOST_E_CLRNOTAVAILABLE. |
E_OUTOFMEMORY | K dokončení požadovaného přidělení není k dispozici dostatek paměti. |
Poznámky
Sekvence volání do a z nespravovaného kódu mohou být vnořené. Například následující seznam popisuje hypotetickou situaci, ve které posloupnost volání , LeaveRuntime
IHostTaskManager::ReverseEnterRuntime, IHostTaskManager::ReverseLeaveRuntime, a IHostTaskManager::EnterRuntime
umožňuje hostiteli identifikovat vnořené vrstvy.
Akce | Odpovídající volání metody |
---|---|
Spravovaný spustitelný soubor jazyka Visual Basic volá nespravovanou funkci napsanou v jazyce C pomocí volání platformy. | IHostTaskManager::LeaveRuntime |
Nespravovaná funkce jazyka C volá metodu ve spravované knihovně DLL napsané v jazyce C#. | IHostTaskManager::ReverseEnterRuntime |
Spravovaná funkce jazyka C# volá jinou nespravovanou funkci napsanou v jazyce C, která také používá volání platformy. | IHostTaskManager::LeaveRuntime |
Druhá nespravovaná funkce vrátí spuštění do funkce jazyka C#. | IHostTaskManager::EnterRuntime |
Funkce jazyka C# vrátí spuštění první nespravované funkce. | IHostTaskManager::ReverseLeaveRuntime |
První nespravovaná funkce vrací provádění do programu jazyka Visual Basic. | IHostTaskManager::EnterRuntime |
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: MSCorEE.h
Knihovny: Zahrnuto jako prostředek v MSCorEE.dll
Verze rozhraní .NET Framework: K dispozici od verze 2.0