Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Tájékoztatja a közös nyelvi futtatókörnyezetet (CLR), hogy a gazdagép végrehajtott 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.
Szemantika
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 az true, a futtatókörnyezet alaphelyzetbe állítja a használt AllocateDataSlot vagy AllocateNamedDataSlota .
Visszaadott érték
| HRESULT | Leírás |
|---|---|
| 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árt 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. A metódusok későbbi hívásai HOST_E_CLRNOTAVAILABLE térnek vissza. |
Megjegyzések
A CLR újra felhasználhatja 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 teszi lehetővé ezt a funkciót, hogy az ICLRTask::ExitTask helyett meghív ICLRTask::Reset 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
ICLRTaskpéldányt.A futtatókörnyezet meghívja az IHostTaskManager::GetCurrentTask parancsot az aktuális gazdagépfeladatra mutató hivatkozás lekéréséhez.
A futtatókörnyezet meghívja az IHostTask::SetCLRTask parancsot, hogy az új példányt társítsa a gazdagépfeladathoz.
A feladat végrehajtja és befejezi.
A gazdagép a hívással
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árazza IHostTask újra. A fenti 1. lépésben a futtatókörnyezet egy új példány létrehozása helyett egy újrahasznosított 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 megfelelőt ICLRTask a hívással ExitTaskmegsemmisíti.
Követelmények
Platformok: Lásd a rendszerkövetelményeket.
Fejléc: MSCorEE.h
Könyvtár: Erőforrásként szerepel a MSCorEE.dll
.NET-keretrendszerverziók: 2.0 óta elérhető