Dela via


ICorProfilerInfo4::RequestRevert-metod

Återställer alla instanser av de angivna funktionerna till sina ursprungliga versioner.

Syntax

HRESULT RequestRevert (  
   [in] ULONG    cFunctions,  
   [in, size_is(cFunctions)]  ModuleID    moduleIds[],  
   [in, size_is(cFunctions)]  mdMethodDef methodIds[],  
   [out, size_is(cFunctions)]  HRESULT status[]);  

Parametrar

cFunctions
[i] Antalet funktioner som ska återställas.

moduleIds
[i] Anger den moduleId del av (module, methodDef) paren som identifierar de funktioner som ska återställas.

methodIds
[i] Anger den methodId del av (module, methodDef) paren som identifierar de funktioner som ska återställas.

status
[ut] En matris med HRESULT:er som visas i avsnittet "Status HRESULTs" senare i det här avsnittet. Varje HRESULT anger hur lyckad eller misslyckad det är att försöka återställa varje funktion som anges i de parallella matriserna moduleIds och methodIds.

Returvärde

Den här metoden returnerar följande specifika HRESULT-fel samt HRESULT-fel som indikerar metodfel.

HRESULT Description
S_OK Ett försök gjordes att återställa alla begäranden. Den returnerade statusmatrisen måste dock kontrolleras för att avgöra vilka funktioner som har återställts.
CORPROF_E_CALLBACK4_REQUIRED Profileraren måste implementera ICorProfilerCallback4-gränssnittet för att det här anropet ska kunna stödjas.
CORPROF_E_REJIT_NOT_ENABLED JIT-omkompilering har inte aktiverats. Du måste aktivera JIT-omkompilering under initieringen med hjälp av metoden ICorProfilerInfo::SetEventMask för att ange COR_PRF_ENABLE_REJIT flaggan.
E_INVALIDARG cFunctions är 0 eller moduleIdsmethodIds är NULL.
E_OUTOFMEMORY CLR kunde inte slutföra begäran eftersom minnet tog slut.

Status HRESULTS

StatusmatrisEN HRESULT Description
S_OK Motsvarande funktion återställdes.
E_INVALIDARG Parametern moduleID eller methodDef är NULL.
CORPROF_E_DATAINCOMPLETE Modulen är inte helt inläst än eller håller på att tas bort.
CORPROF_E_MODULE_IS_DYNAMIC Den angivna modulen genererades dynamiskt (till exempel av Reflection.Emit). Därför stöds det inte av den här metoden.
CORPROF_E_ACTIVE_REJIT_REQUEST_NOT_FOUND CLR kunde inte återställa den angivna funktionen eftersom det inte gick att hitta en motsvarande aktiv omkompileringsbegäran. Antingen begärdes aldrig omkompileringen eller så har funktionen redan återställts.
Övrigt Operativsystemet returnerade ett fel utanför CLR:s kontroll. Om till exempel ett systemanrop för att ändra åtkomstskyddet för en sida med minne misslyckas visas operativsystemfelet.

Kommentarer

Nästa gång någon av de återställda funktionsinstanserna anropas körs de ursprungliga versionerna av funktionerna. Om en funktion redan körs slutförs körningen av den version som körs.

Krav

Plattformar: Se Systemkrav.

Huvudet: CorProf.idl, CorProf.h

Bibliotek: CorGuids.lib

.NET Framework versioner: Tillgänglig sedan 4.5

Se även