ICLRTask::Reset – metoda
Informuje modul CLR (Common Language Runtime), že hostitel dokončil úlohu, a umožní modulu CLR znovu použít aktuální instanci ICLRTask k reprezentaci jiné úlohy.
Syntaxe
HRESULT Reset (
[in] BOOL fFull
);
Parametry
fFull
[in] true
, pokud by modul runtime měl kromě informací o zabezpečení a národním prostředí souvisejících s aktuální ICLRTask
instancí resetovat všechny statické hodnoty související s vlákny false
. V opačném případě .
Pokud je true
hodnota , modul runtime resetuje data uložená pomocí nebo AllocateDataSlotAllocateNamedDataSlot.
Návratová hodnota
HRESULT | Description |
---|---|
S_OK | Reset ú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 zpracovat volání. Úspěš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. |
Poznámky
Modul CLR může recyklovat dříve vytvořené ICLRTask
instance, aby se zabránilo režii opakovaného vytváření nových instancí pokaždé, když potřebuje nový úkol. Hostitel tuto funkci povolí voláním ICLRTask::Reset
místo ICLRTask::ExitTask po dokončení úkolu. Následující seznam shrnuje normální životní cyklus ICLRTask
instance:
Modul runtime vytvoří novou
ICLRTask
instanci.Modul runtime volá IHostTaskManager::GetCurrentTask , aby získal odkaz na aktuální úlohu hostitele.
Modul runtime volá IHostTask::SetCLRTask pro přidružení nové instance k úloze hostitele.
Úloha se provede a dokončí.
Hostitel zničí úlohu voláním
ICLRTask::ExitTask
.
Reset
tento scénář změní dvěma způsoby. V kroku 5 výše hostitel zavolá Reset
úlohu do čistého stavu a pak oddělí ICLRTask
instanci od přidružené instance IHostTask . V případě potřeby může hostitel také uložit instanci do IHostTask
mezipaměti pro opakované použití. V kroku 1 výše modul runtime místo vytvoření nové instance načítá z mezipaměti recyklovaný ICLRTask
objekt.
Tento přístup funguje dobře, když má hostitel také fond opakovaně použitelných pracovních úkolů. Když hostitel zničí jednu ze svých IHostTask
instancí, zničí odpovídající ICLRTask
tím, že zavolá ExitTask
.
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