Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Informuje modul CLR (Common Language Runtime), že hostitel dokončil úlohu, a umožňuje 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 obnovit všechny statické hodnoty související s vlákny kromě informací o zabezpečení a národním prostředí souvisejících s aktuální ICLRTask instancí; jinak . false
Pokud je truehodnota , modul runtime resetuje data uložená pomocí AllocateDataSlot nebo AllocateNamedDataSlot.
Návratová hodnota
| HRESULT | Description |
|---|---|
| S_OK |
Reset byla úspěšně vrácena. |
| 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 | Vypršel časový limit hovoru. |
| 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é katastrofické chybě. Když metoda vrátí E_FAIL, CLR již není možné použít v rámci procesu. Následná volání metod hostování vrací HOST_E_CLRNOTAVAILABLE. |
Poznámky
CLR může dříve vytvořené ICLRTask instance recyklovat, aby se zabránilo režii opakovaného vytváření nových instancí pokaždé, když potřebuje novou úlohu. Hostitel tuto funkci povolí voláním ICLRTask::Reset namísto ICLRTask::ExitTask po dokončení úlohy. Následující seznam shrnuje normální životní cyklus ICLRTask instance:
Modul runtime vytvoří novou
ICLRTaskinstanci.Modul runtime volá IHostTaskManager::GetCurrentTask pro získání odkazu na aktuální úlohu hostitele.
Modul runtime volá IHostTask::SetCLRTask pro přidružení nové instance k úloze hostitele.
Úloha se spustí a dokončí.
Hostitel zničí úkol voláním
ICLRTask::ExitTask.
Reset tento scénář mění dvěma způsoby. V kroku 5 výše volá hostitel Reset resetování úlohy do čistého stavu a potom oddělí ICLRTask instanci od přidružené instance IHostTask . V případě potřeby může hostitel také uložit instanci do mezipaměti IHostTask pro opakované použití. V kroku 1 výše modul runtime stáhne recyklaci ICLRTask z mezipaměti místo vytvoření nové instance.
Tento přístup funguje dobře, pokud má hostitel také fond opakovaně použitelných pracovních úkolů. Když hostitel zničí jednu z jeho IHostTask instancí, zničí odpovídající ICLRTask voláním ExitTask.
Požadavky
Platformy: Viz požadavky na systém.
Záhlaví: MSCorEE.h
Knihovna: Zahrnutý jako prostředek v MSCorEE.dll
Verze rozhraní .NET Framework: K dispozici od verze 2.0