Megosztás a következőn keresztül:


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 , truea 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:

  1. A futtatókörnyezet létrehoz egy új ICLRTask példányt.

  2. A futtatókörnyezet meghívja az IHostTaskManager::GetCurrentTask parancsot az aktuális gazdagépfeladatra való hivatkozás lekéréséhez.

  3. A futtatókörnyezet meghívja az IHostTask::SetCLRTask parancsot, hogy társítsa az új példányt a gazdagép feladatával.

  4. A feladat végrehajtja és befejezi.

  5. A gazdagép a meghívásával ICLRTask::ExitTaskmegsemmisí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 ExitTaskmegsemmisí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

Lásd még