Compartilhar via


Método ICorProfilerInfo4::RequestRevert

Reverte todas as instâncias das funções especificadas para suas 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 serem revertidas.

moduleIds
[in] Especifica a parte moduleId dos pares (module, methodDef) que identificam as funções a serem revertidas.

methodIds
[in] Especifica a parte methodId dos pares (module, methodDef) que identificam as funções a serem revertidas.

status
[out] Uma matriz de HRESULTs listada na seção "Status HRESULTs" mais adiante neste tópico. Cada HRESULT indica o sucesso ou a falha de tentar reverter cada função especificada nas matrizes paralelas moduleIds e methodIds.

Valor Retornado

Esse método retorna os seguintes HRESULTs específicos, bem como erros HRESULT que indicam falha de método.

HRESULT Descrição
S_OK Foi feita uma tentativa de reverter todas as solicitações; no entanto, a matriz de status retornada deve ser verificada para determinar quais funções foram revertidas com sucesso.
CORPROF_E_CALLBACK4_REQUIRED O criador de perfil deve implementar a interface ICorProfilerCallback4 para que essa chamada tenha suporte.
CORPROF_E_REJIT_NOT_ENABLED A recompilação JIT não foi habilitada. Você deve habilitar a recompilação JIT durante a inicialização usando o método ICorProfilerInfo::SetEventMask para definir o sinalizador COR_PRF_ENABLE_REJIT.
E_INVALIDARG cFunctions é 0, ou moduleIds ou methodIds é NULL.
E_OUTOFMEMORY O CLR não pôde concluir a solicitação porque ficou sem memória.

Status HRESULTS

HRESULT da matriz de status Descrição
S_OK A função correspondente foi revertida com sucesso.
E_INVALIDARG O parâmetro moduleID ou methodDef é NULL.
CORPROF_E_DATAINCOMPLETE O módulo ainda não está totalmente carregado ou está em processo de descarregamento.
CORPROF_E_MODULE_IS_DYNAMIC O módulo especificado foi gerado dinamicamente (por exemplo, por Reflection.Emit). Portanto, ele não é suportado por este método.
CORPROF_E_ACTIVE_REJIT_REQUEST_NOT_FOUND O CLR não pôde reverter a função especificada porque uma solicitação de recompilação ativa correspondente não foi encontrada. A recompilação nunca foi solicitada ou a função já foi revertida.
Outro O sistema operacional retornou uma falha fora do controle do CLR. Por exemplo, se uma chamada do sistema para alterar a proteção de acesso de uma página de memória falhar, o erro do sistema operacional será exibido.

Comentários

Na próxima vez que qualquer uma das instâncias de função revertida for chamada, as versões originais das funções serão executadas. Se uma função já estiver em execução, ela concluirá a execução da versão em execução.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorProf.idl, CorProf.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: disponíveis desde 4.5

Confira também