Methode ICorProfilerInfo4::RequestRevert
Hiermee worden alle exemplaren van de opgegeven functies teruggezet naar de oorspronkelijke versies.
Syntaxis
HRESULT RequestRevert (
[in] ULONG cFunctions,
[in, size_is(cFunctions)] ModuleID moduleIds[],
[in, size_is(cFunctions)] mdMethodDef methodIds[],
[out, size_is(cFunctions)] HRESULT status[]);
Parameters
cFunctions
[in] Het aantal functies dat moet worden teruggezet.
moduleIds
[in] Hiermee geeft u het moduleId
gedeelte van de paren (module
, methodDef
) op waarmee de functies worden geïdentificeerd die moeten worden teruggezet.
methodIds
[in] Hiermee geeft u het methodId
gedeelte van de paren (module
, methodDef
) op waarmee de functies worden geïdentificeerd die moeten worden teruggezet.
status
[uit] Een matrix met HRESULT's die worden vermeld in de sectie Status HRESULTs verderop in dit onderwerp. Elk HRESULT geeft het slagen of mislukken aan van het herstellen van elke functie die is opgegeven in de parallelle matrices moduleIds
en methodIds
.
Retourwaarde
Deze methode retourneert de volgende specifieke HRESULT's en HRESULT-fouten die wijzen op een methodefout.
HRESULT | Beschrijving |
---|---|
S_OK | Er is een poging gedaan om alle aanvragen terug te keren; De geretourneerde statusmatrix moet echter worden gecontroleerd om te bepalen welke functies zijn hersteld. |
CORPROF_E_CALLBACK4_REQUIRED | De profiler moet de interface ICorProfilerCallback4 implementeren om deze aanroep te kunnen ondersteunen. |
CORPROF_E_REJIT_NOT_ENABLED | JIT-hercompilatie is niet ingeschakeld. U moet JIT-hercompilatie tijdens de initialisatie inschakelen met behulp van de methode ICorProfilerInfo::SetEventMask om de COR_PRF_ENABLE_REJIT vlag in te stellen. |
E_INVALIDARG | cFunctions is 0 of moduleIds of methodIds is NULL . |
E_OUTOFMEMORY | De CLR kan de aanvraag niet voltooien omdat er onvoldoende geheugen beschikbaar is. |
Status HRESULTS
Statusmatrix HRESULT | Beschrijving |
---|---|
S_OK | De bijbehorende functie is hersteld. |
E_INVALIDARG | De moduleID parameter of methodDef is NULL . |
CORPROF_E_DATAINCOMPLETE | De module is nog niet volledig geladen of wordt uitgeladen. |
CORPROF_E_MODULE_IS_DYNAMIC | De opgegeven module is dynamisch gegenereerd (bijvoorbeeld door Reflection.Emit ). Daarom wordt het niet ondersteund door deze methode. |
CORPROF_E_ACTIVE_REJIT_REQUEST_NOT_FOUND | De CLR kan de opgegeven functie niet terugzetten, omdat er geen overeenkomstige actieve hercompilatieaanvraag is gevonden. De hercompilatie is nooit aangevraagd of de functie is al teruggedraaid. |
Anders | Het besturingssysteem heeft een fout geretourneerd buiten de controle van de CLR. Als bijvoorbeeld een systeemoproep om de toegangsbeveiliging van een pagina met geheugen te wijzigen mislukt, wordt de fout van het besturingssysteem weergegeven. |
Opmerkingen
De volgende keer dat een van de teruggedraaide functie-exemplaren wordt aangeroepen, worden de oorspronkelijke versies van de functies uitgevoerd. Als een functie al wordt uitgevoerd, wordt de uitvoering van de actieve versie voltooid.
Vereisten
Platforms: Zie Systeemvereisten.
Header: CorProf.idl, CorProf.h
Bibliotheek: CorGuids.lib
.NET Framework versies: beschikbaar sinds 4.5