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 moduleIds methodIds ä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