Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
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