ICLRTask::Reset metódus
Tájékoztatja a közös nyelvi futtatókörnyezetet (CLR), hogy a gazdagép elvégzett egy feladatot, és lehetővé teszi, hogy a CLR újra felhasználja az aktuális ICLRTask-példányt egy másik feladat megjelenítéséhez.
Szintaxis
HRESULT Reset (
[in] BOOL fFull
);
Paraméterek
fFull
[in] true
, ha a futtatókörnyezetnek alaphelyzetbe kell állítania az összes szálhoz kapcsolódó statikus értéket az aktuális ICLRTask
példányhoz kapcsolódó biztonsági és területi információk mellett; ellenkező esetben. false
Ha az érték , true
a futtatókörnyezet alaphelyzetbe állítja a vagy AllocateNamedDataSlothasználatával AllocateDataSlot tárolt adatokat.
Visszatérési érték
HRESULT | Description |
---|---|
S_OK | Reset sikeresen visszaadott. |
HOST_E_CLRNOTAVAILABLE | A CLR nincs betöltve egy folyamatba, vagy a CLR olyan állapotban van, amelyben nem futtathat felügyelt kódot, és nem tudja feldolgozni a hívást. Sikeresen |
HOST_E_TIMEOUT | A hívás túllépte az időkorlátot. |
HOST_E_NOT_OWNER | A hívó nem rendelkezik a zárral. |
HOST_E_ABANDONED | Egy esemény megszakadt, miközben egy blokkolt szál vagy szál várakozott rá. |
E_FAIL | Ismeretlen katasztrofális hiba történt. Amikor egy metódus E_FAIL ad vissza, a CLR már nem használható a folyamaton belül. Az üzemeltetési módszerekre irányuló későbbi hívások HOST_E_CLRNOTAVAILABLE adnak vissza. |
Megjegyzések
A CLR újrahasznosíthatja a korábban létrehozott ICLRTask
példányokat, hogy elkerülje az új példányok ismételt létrehozásának többletterhelését minden alkalommal, amikor új feladatra van szüksége. A gazdagép úgy engedélyezi ezt a funkciót, hogy az ICLRTask::ExitTask helyett hívICLRTask::Reset
, amikor befejezett egy feladatot. Az alábbi lista egy példány normál életciklusát ICLRTask
foglalja össze:
A futtatókörnyezet létrehoz egy új
ICLRTask
példányt.A futtatókörnyezet meghívja az IHostTaskManager::GetCurrentTask parancsot az aktuális gazdagépfeladatra való hivatkozás lekéréséhez.
A futtatókörnyezet meghívja az IHostTask::SetCLRTask parancsot, hogy társítsa az új példányt a gazdagép feladatával.
A feladat végrehajtja és befejezi.
A gazdagép a meghívásával
ICLRTask::ExitTask
megsemmisíti a feladatot.
Reset
ezt a forgatókönyvet kétféleképpen módosítja. A fenti 5. lépésben a gazdagép kéri Reset
a feladat tiszta állapotba állítását, majd leválasztja a példányt a ICLRTask
társított IHostTask-példányról . Ha szükséges, a gazdagép a példányt is gyorsítótárba helyezheti IHostTask
újra. A fenti 1. lépésben a futtatókörnyezet egy új példány létrehozása helyett egy újrafeldolgozott ICLRTask
példányt kér le a gyorsítótárból.
Ez a megközelítés akkor működik jól, ha a gazdagép újrahasználható feldolgozói feladatok készletével is rendelkezik. Amikor a gazdagép megsemmisíti az egyik IHostTask
példányát, a parancs meghívásával ExitTask
megsemmisíti a megfelelőtICLRTask
.
Követelmények
Platformok: Lásd: Rendszerkövetelmények.
Fejléc: MSCorEE.h
Könyvtár: Erőforrásként szerepel a MSCorEE.dll
.NET-keretrendszer verziók: 2.0 óta érhető el