ICorProfilerInfo4::RequestRevert — Metoda
Przywraca wszystkie wystąpienia określonych funkcji do ich oryginalnych wersji.
Składnia
HRESULT RequestRevert (
[in] ULONG cFunctions,
[in, size_is(cFunctions)] ModuleID moduleIds[],
[in, size_is(cFunctions)] mdMethodDef methodIds[],
[out, size_is(cFunctions)] HRESULT status[]);
Parametry
cFunctions
[in] Liczba funkcji do odzyskania.
moduleIds
[in] Określa moduleId
część par (module
, methodDef
), które identyfikują funkcje, które mają zostać przywrócone.
methodIds
[in] Określa methodId
część par (module
, methodDef
), które identyfikują funkcje, które mają zostać przywrócone.
status
[out] Tablica hrESULTs wymieniona w sekcji "HrESULTs stanu" w dalszej części tego tematu. Każdy HRESULT wskazuje powodzenie lub niepowodzenie próby odwrócenia każdej funkcji określonej w tablicach równoległych moduleIds
i methodIds
.
Wartość zwracana
Ta metoda zwraca następujące specyficzne wartości HRESULTs, a także błędy HRESULT wskazujące niepowodzenie metody.
HRESULT | Opis |
---|---|
S_OK | Podjęto próbę odzyskania wszystkich żądań; jednak zwracana tablica stanu musi zostać sprawdzona, aby określić, które funkcje zostały pomyślnie przywrócone. |
CORPROF_E_CALLBACK4_REQUIRED | Profiler musi zaimplementować interfejs ICorProfilerCallback4 , aby to wywołanie było obsługiwane. |
CORPROF_E_REJIT_NOT_ENABLED | Ponowna kompilacja trybu JIT nie została włączona. Aby ustawić flagęCOR_PRF_ENABLE_REJIT , należy włączyć ponowną kompilację trybu JIT podczas inicjowania przy użyciu metody ICorProfilerInfo::SetEventMask. |
E_INVALIDARG | cFunctions ma wartość 0 lub moduleIds methodIds ma NULL wartość . |
E_OUTOFMEMORY | ClR nie może ukończyć żądania, ponieważ zabrakło pamięci. |
Stan HRESULTS
Tablica stanu HRESULT | Opis |
---|---|
S_OK | Odpowiednia funkcja została pomyślnie przywrócona. |
E_INVALIDARG | Parametr moduleID or methodDef to NULL . |
CORPROF_E_DATAINCOMPLETE | Moduł nie jest jeszcze w pełni załadowany lub jest w trakcie zwalniania. |
CORPROF_E_MODULE_IS_DYNAMIC | Określony moduł został wygenerowany dynamicznie (na przykład przez Reflection.Emit element ). W związku z tym ta metoda nie jest obsługiwana. |
CORPROF_E_ACTIVE_REJIT_REQUEST_NOT_FOUND | ClR nie może przywrócić określonej funkcji, ponieważ nie znaleziono odpowiedniego aktywnego żądania ponownej kompilacji. Ponowna kompilacja nigdy nie została zażądana lub funkcja została już przywrócona. |
Inne | System operacyjny zwrócił błąd poza kontrolą środowiska CLR. Na przykład jeśli wywołanie systemu w celu zmiany ochrony dostępu do strony pamięci zakończy się niepowodzeniem, zostanie wyświetlony błąd systemu operacyjnego. |
Uwagi
Przy następnym wywołaniu dowolnego z przywróconych wystąpień funkcji zostaną uruchomione oryginalne wersje funkcji. Jeśli funkcja jest już uruchomiona, zakończy wykonywanie uruchomionej wersji.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: CorProf.idl, CorProf.h
Biblioteki: CorGuids.lib
wersje .NET Framework: dostępne od wersji 4.5