Partilhar via


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 moduleIdsmethodIds é 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

Ver também