Método ICorProfilerInfo4::RequestRevert
Reverte todas as instâncias das funções especificadas para as respetivas versões originais.
Sintaxe
HRESULT RequestRevert (
[in] ULONG cFunctions,
[in, size_is(cFunctions)] ModuleID moduleIds[],
[in, size_is(cFunctions)] mdMethodDef methodIds[],
[out, size_is(cFunctions)] HRESULT status[]);
Parâmetros
cFunctions
[in] O número de funções a reverter.
moduleIds
[in] Especifica a moduleId
parte dos pares (module
, methodDef
) que identificam as funções a reverter.
methodIds
[in] Especifica a methodId
parte dos pares (module
, methodDef
) que identificam as funções a reverter.
status
[fora] Uma matriz de HRESULTs listada na secção "HRESULTs de Estado" mais adiante neste tópico. Cada HRESULT indica o êxito ou falha de tentar reverter cada função especificada nas matrizes paralelas moduleIds
e methodIds
.
Devolver Valor
Este método devolve os seguintes HRESULTs específicos, bem como erros HRESULT que indicam a falha do método.
HRESULT | Description |
---|---|
S_OK | Foi feita uma tentativa de reverter todos os pedidos; no entanto, a matriz de estado devolvido tem de ser verificada para determinar quais as funções que foram revertidas com êxito. |
CORPROF_E_CALLBACK4_REQUIRED | O profiler tem de implementar a interface ICorProfilerCallback4 para que esta chamada seja suportada. |
CORPROF_E_REJIT_NOT_ENABLED | A recompilação do JIT não foi ativada. Tem de ativar a recompilação do JIT durante a inicialização com o método ICorProfilerInfo::SetEventMask para definir o COR_PRF_ENABLE_REJIT sinalizador. |
E_INVALIDARG | cFunctions é 0 ou moduleIds methodIds é NULL . |
E_OUTOFMEMORY | O CLR não conseguiu concluir o pedido porque ficou sem memória. |
ESTADO HRESULTS
Matriz de estado HRESULT | Description |
---|---|
S_OK | A função correspondente foi revertida com êxito. |
E_INVALIDARG | O moduleID parâmetro ou methodDef é NULL . |
CORPROF_E_DATAINCOMPLETE | O módulo ainda não está totalmente carregado ou está em vias de ser descarregado. |
CORPROF_E_MODULE_IS_DYNAMIC | O módulo especificado foi gerado dinamicamente (por exemplo, por Reflection.Emit ). Por conseguinte, não é suportado por este método. |
CORPROF_E_ACTIVE_REJIT_REQUEST_NOT_FOUND | O CLR não conseguiu reverter a função especificada porque não foi encontrado um pedido de recompilação ativo correspondente. A recompilação nunca foi pedida ou a função já foi revertida. |
Outro | O sistema operativo devolveu uma falha fora do controlo do CLR. Por exemplo, se uma chamada de sistema para alterar a proteção de acesso de uma página de memória falhar, será apresentado o erro do sistema operativo. |
Observações
Da próxima vez que qualquer uma das instâncias da função revertida for chamada, as versões originais das funções serão executadas. Se uma função já estiver em execução, concluirá a execução da versão em execução.
Requisitos
Plataformas: Veja Requisitos do Sistema.
Cabeçalho: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
.NET Framework Versões: Disponível desde 4.5