ICorProfilerInfo4::RequestRevert – metoda
Vrátí všechny instance zadaných funkcí na původní verze.
Syntaxe
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
[v] Počet funkcí, které se mají vrátit.
moduleIds
[v] Určuje moduleId
část párů (module
, methodDef
), které identifikují funkce, které se mají vrátit zpět.
methodIds
[v] Určuje methodId
část párů (module
, methodDef
), které identifikují funkce, které se mají vrátit zpět.
status
[out] Pole HRESULTs uvedené v části "Stav HRESULTs" dále v tomto tématu. Každá hodnota HRESULT označuje úspěch nebo selhání pokusu o vrácení všech funkcí zadaných v paralelních polích moduleIds
a methodIds
.
Návratová hodnota
Tato metoda vrátí následující konkrétní hodnoty HRESULT a také chyby HRESULT, které značí selhání metody.
HRESULT | Description |
---|---|
S_OK | Došlo k pokusu o vrácení všech žádostí. Vrácené pole stavu však musí být zkontrolováno, aby bylo možné určit, které funkce byly úspěšně vráceny zpět. |
CORPROF_E_CALLBACK4_REQUIRED | Profiler musí implementovat ICorProfilerCallback4 rozhraní, aby toto volání bylo podporováno. |
CORPROF_E_REJIT_NOT_ENABLED | Rekompilace JIT nebyla povolena. Při inicializaci je nutné povolit rekompilace JIT pomocí metody ICorProfilerInfo::SetEventMask nastavit COR_PRF_ENABLE_REJIT příznak. |
E_INVALIDARG | cFunctions je 0 nebo moduleIds je methodIds NULL . |
E_OUTOFMEMORY | ClR nemohl dokončit požadavek, protože mu došla paměť. |
Stav HRESULTS
Stavové pole HRESULT | Description |
---|---|
S_OK | Odpovídající funkce se úspěšně vrátila zpět. |
E_INVALIDARG | Parametr moduleID nebo methodDef je NULL . |
CORPROF_E_DATAINCOMPLETE | Modul ještě není plně načtený nebo je v procesu uvolnění. |
CORPROF_E_MODULE_IS_DYNAMIC | Zadaný modul se vygeneroval dynamicky (například pomocí Reflection.Emit ). Proto není tato metoda podporována. |
CORPROF_E_ACTIVE_REJIT_REQUEST_NOT_FOUND | Modul CLR nemohl vrátit zpět zadanou funkci, protože nebyl nalezen odpovídající aktivní požadavek na rekompilace. Buď se o rekompilace nikdy nepožadovala, nebo se funkce už vrátila zpět. |
Jiné | Operační systém vrátil chybu mimo kontrolu modulu CLR. Pokud například dojde k selhání systémového volání pro změnu ochrany přístupu na stránce paměti, zobrazí se chyba operačního systému. |
Poznámky
Při příštím zavolání kterékoli z instancí vrácených funkcí se spustí původní verze funkcí. Pokud už je funkce spuštěná, dokončí spuštění verze, která je spuštěná.
Požadavky
Platformy: Viz Požadavky na systém.
Záhlaví: CorProf.idl, CorProf.h
Knihovny: CorGuids.lib
Verze rozhraní .NET Framework: K dispozici od verze 4.5