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