Compartir a través de


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

Consulte también