Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Informeert de Common Language Runtime (CLR) dat de host een taak heeft voltooid en stelt de CLR in staat om het huidige ICLRTask-exemplaar opnieuw te gebruiken om een andere taak weer te geven.
Syntaxis
HRESULT Reset (
[in] BOOL fFull
);
Parameterwaarden
fFull[in] true, als de runtime alle threadgerelateerde statische waarden opnieuw moet instellen, naast de beveiligings- en landinstellingen die betrekking hebben op het huidige ICLRTask exemplaar; anders. false
Als de waarde is true, stelt de runtime gegevens opnieuw in die zijn opgeslagen met of AllocateDataSlotAllocateNamedDataSlot.
Retourwaarde
| HRESULT | Beschrijving |
|---|---|
| S_OK |
Reset is geretourneerd. |
| HOST_E_CLRNOTAVAILABLE | De CLR is niet geladen in een proces of de CLR heeft een status waarin beheerde code niet kan worden uitgevoerd of de aanroep kan worden verwerkt. Succesvol |
| HOST_E_TIMEOUT | Er is een time-out opgetreden voor het gesprek. |
| HOST_E_NOT_OWNER | De beller is niet eigenaar van het slot. |
| HOST_E_ABANDONED | Er is een gebeurtenis geannuleerd terwijl een geblokkeerde thread of glasvezel erop wachtte. |
| E_FAIL | Er is een onbekende onherstelbare fout opgetreden. Wanneer een methode E_FAIL retourneert, is de CLR niet meer bruikbaar binnen het proces. Volgende aanroepen naar hostingmethoden retourneren HOST_E_CLRNOTAVAILABLE. |
Opmerkingen
De CLR kan eerder gemaakte ICLRTask exemplaren recyclen om de overhead van het herhaaldelijk maken van nieuwe exemplaren te voorkomen telkens wanneer er een nieuwe taak nodig is. De host schakelt deze functie in door in plaats van ICLRTask::ExitTask aan te roepen ICLRTask::Reset wanneer deze een taak heeft voltooid. De volgende lijst bevat een overzicht van de normale levenscyclus van een ICLRTask exemplaar:
De runtime maakt een nieuw
ICLRTaskexemplaar.De runtime roept IHostTaskManager::GetCurrentTask aan om een verwijzing naar de huidige hosttaak op te halen.
De runtime roept IHostTask::SetCLRTask aan om het nieuwe exemplaar te koppelen aan de hosttaak.
De taak wordt uitgevoerd en voltooid.
De host vernietigt de taak door aan te roepen
ICLRTask::ExitTask.
Reset wijzigt dit scenario op twee manieren. In stap 5 hierboven roept Reset de host aan om de taak opnieuw in te stellen op een schone status en koppelt het exemplaar vervolgens los van het ICLRTask bijbehorende IHostTask-exemplaar . Indien gewenst kan de host het IHostTask exemplaar ook opslaan voor hergebruik. In stap 1 hierboven haalt de runtime een gerecycled uit ICLRTask de cache op in plaats van een nieuw exemplaar te maken.
Deze benadering werkt goed wanneer de host ook een groep herbruikbare werktaken heeft. Wanneer de host een van de IHostTask exemplaren vernietigt, wordt het bijbehorende door ICLRTask aanroepen ExitTaskvernietigd.
Requirements
Platformen: Zie Systeemvereisten.
Rubriek: MSCorEE.h
Bibliotheek: Opgenomen als een resource in MSCorEE.dll
.NET Framework-versies: Beschikbaar sinds 2.0