Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Informuje środowisko uruchomieniowe języka wspólnego (CLR), że host ukończył zadanie, i umożliwia clR ponowne użycie bieżącego wystąpienia ICLRTask do reprezentowania innego zadania.
Składnia
HRESULT Reset (
[in] BOOL fFull
);
Parametry
fFull
[in] true, jeśli środowisko uruchomieniowe powinno zresetować wszystkie wartości statyczne związane z wątkiem oprócz informacji o zabezpieczeniach i ustawieniach regionalnych związanych z bieżącym ICLRTask wystąpieniem; w przeciwnym razie false.
Jeśli wartość to true, środowisko uruchomieniowe resetuje dane przechowywane przy użyciu polecenia AllocateDataSlot lub AllocateNamedDataSlot.
Wartość zwracana
| HRESULT | Opis |
|---|---|
| S_OK |
Reset zwrócone pomyślnie. |
| HOST_E_CLRNOTAVAILABLE | ClR nie został załadowany do procesu lub CLR jest w stanie, w którym nie może uruchomić zarządzanego kodu lub przetworzyć wywołania. Pomyślnie |
| HOST_E_TIMEOUT | Upłynął limit czasu wywołania. |
| HOST_E_NOT_OWNER | Obiekt wywołujący nie jest właścicielem blokady. |
| HOST_E_ABANDONED | Zdarzenie zostało anulowane, gdy zablokowany wątek lub światłowod czekał na nie. |
| E_FAIL | Wystąpił nieznany katastrofalny błąd. Gdy metoda zwraca E_FAIL, clR nie będzie już można jej używać w ramach tego procesu. Kolejne wywołania metod hostingu zwracają HOST_E_CLRNOTAVAILABLE. |
Uwagi
Środowisko CLR może przetwarzać wcześniej utworzone ICLRTask wystąpienia, aby uniknąć konieczności wielokrotnego tworzenia nowych wystąpień przy każdym potrzebie nowego zadania. Host włącza tę funkcję, wywołując ICLRTask::Reset funkcję zamiast ICLRTask::ExitTask po ukończeniu zadania. Poniższa lista zawiera podsumowanie normalnego ICLRTask cyklu życia wystąpienia:
Środowisko uruchomieniowe tworzy nowe
ICLRTaskwystąpienie.Środowisko uruchomieniowe wywołuje metodę IHostTaskManager::GetCurrentTask , aby uzyskać odwołanie do bieżącego zadania hosta.
Środowisko uruchomieniowe wywołuje metodę IHostTask::SetCLRTask , aby skojarzyć nowe wystąpienie z zadaniem hosta.
Zadanie jest wykonywane i wykonywane.
Host niszczy zadanie przez wywołanie metody
ICLRTask::ExitTask.
Reset zmienia ten scenariusz na dwa sposoby. W kroku 5 powyżej host wywołuje wywołanie Reset w celu zresetowania zadania do stanu czystego, a następnie oddzielenie ICLRTask wystąpienia od skojarzonego wystąpienia IHostTask . W razie potrzeby host może również buforować wystąpienie do ponownego IHostTask użycia. W kroku 1 powyżej środowisko uruchomieniowe pobiera z ICLRTask pamięci podręcznej zamiast tworzyć nowe wystąpienie.
Takie podejście działa dobrze, gdy host ma również pulę zadań roboczych wielokrotnego użytku. Gdy host niszczy jedno z jego IHostTask wystąpień, niszczy odpowiedni element ICLRTask , wywołując metodę ExitTask.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: MSCorEE.h
Biblioteki: Uwzględnione jako zasób w MSCorEE.dll
wersje .NET Framework: dostępne od wersji 2.0