ICorProfilerInfo4::RequestRevert (Método)
Revierte todas las instancias de las funciones especificadas a sus versiones originales.
Sintaxis
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] Número de funciones que se va a revertir.
moduleIds
[in] Especifica la parte moduleId
de los pares (module
, methodDef
) que identifican las funciones que se van a revertir.
methodIds
[in] Especifica la parte methodId
de los pares (module
, methodDef
) que identifican las funciones que se van a revertir.
status
[out] Matriz de valores HRESULT enumerados en la sección "HRESULT de estado" más adelante en este tema. Cada HRESULT indica el intento correcto o erróneo de revertir cada función especificada en las matrices paralelas moduleIds
y methodIds
.
Valor devuelto
Este método devuelve los siguientes HRESULT específicos y los errores HRESULT que indican un error del método.
HRESULT | Descripción |
---|---|
S_OK | Se intentaron revertir todas las solicitudes; sin embargo, se debe comprobar la matriz de estados devueltos para determinar qué funciones se han revertido correctamente. |
CORPROF_E_CALLBACK4_REQUIRED | Si se devuelve este valor, significa que debe implementar la interfaz ICorProfilerCallback4 en el generador de perfiles para que se admita esta llamada. |
CORPROF_E_REJIT_NOT_ENABLED | No se habilitó la recompilación con JIT. Deberá habilitar el proceso de nueva compilación mediante el compilador JIT durante la inicialización. Para ello, use el método ICorProfilerInfo::SetEventMask para establecer la marca COR_PRF_ENABLE_REJIT . |
E_INVALIDARG | cFunctions es 0, o moduleIds o methodIds es NULL . |
E_OUTOFMEMORY | El CLR no pudo completar la solicitud porque se quedó sin memoria. |
HRESULT de estado
HRESULT de la matriz de estados | Descripción |
---|---|
S_OK | La función correspondiente se revirtió correctamente. |
E_INVALIDARG | El parámetro moduleID o methodDef es NULL . |
CORPROF_E_DATAINCOMPLETE | El módulo no está totalmente cargado aún o está en proceso de descarga. |
CORPROF_E_MODULE_IS_DYNAMIC | El módulo especificado se genera dinámicamente (por ejemplo, mediante Reflection.Emit ). Por lo tanto, este método no lo admite. |
CORPROF_E_ACTIVE_REJIT_REQUEST_NOT_FOUND | El CLR no pudo revertir la función especificada porque no se encontró la solicitud de recompilación activa correspondiente. La recompilación nunca se solicitó o la función ya se había revertido. |
Otros | El sistema operativo devolvió un error fuera del control del CLR. Por ejemplo, si se produce un error en una llamada del sistema para cambiar la protección de acceso de una página de memoria, se mostrará el error del sistema operativo. |
Comentarios
La próxima vez que se llame a cualquiera de las instancias de la función revertida, se ejecutarán las versiones originales de las funciones. Si ya se está ejecutando una función, finalizará la ejecución de la versión que se está ejecutando.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorProf.idl, CorProf.h
Biblioteca: CorGuids.lib
Versiones de .NET Framework: disponible a partir de la versión 4.5