Udostępnij za pośrednictwem


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 moduleIdsmethodIds ma NULLwartość .
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.Emitelement ). 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

Zobacz też