Compartir a través de


FunctionEnter3WithInfo (Función)

Notifica al generador de perfiles que el control se pasa a una función y proporciona un identificador que se puede pasar al método ICorProfilerInfo3::GetFunctionEnter3Info para recuperar el marco de pila y los argumentos de la función.

void __stdcall FunctionEnter3WithInfo(
               [in] FunctionIDOrClientID functionIDOrClientID,
               [in] COR_PRF_ELT_INFO eltInfo);

Parámetros

  • functionIDOrClientID
    [in] Identificador de la función a la que se pasa el control.

  • eltInfo
    [in] Identificador opaco que representa información acerca de un marco de pila especificado. Este identificador solo es válido durante la devolución de llamada a la que se pasa.

Comentarios

El método de devolución de llamada FunctionEnter3WithInfo notifica al generador de perfiles cuando se llama a las funciones, y habilita al generador de perfiles para usar el método ICorProfilerInfo3::GetFunctionEnter3Info para inspeccionar los valores de argumento. Para tener acceso a la información del argumento, se debe establecer la marca COR_PRF_ENABLE_FUNCTION_ARGS. El generador de perfiles puede usar el método ICorProfilerInfo::SetEventMask para establecer las marcas de evento y, a continuación, usar el método ICorProfilerInfo3::SetEnterLeaveFunctionHooks3WithInfo para registrar su implementación de esta función.

La función FunctionEnter3WithInfo es una devolución de llamada; debe implementarla. La implementación debe utilizar el atributo de clase de almacenamiento __declspec(naked).

El motor de ejecución no guarda ningún registro antes de llamar a esta función.

  • En la entrada, debe guardar todos los registros que utilice, incluidos los de la unidad de punto flotante (FPU).

  • Al salir, debe restablecer la pila desactivando todos los parámetros insertados por el llamador.

La implementación de FunctionEnter3WithInfo no debe bloquearse porque retrasaría la recolección de elementos no utilizados. La implementación no debería intentar realizar la recolección de elementos no utilizados porque es posible que la pila no esté en un estado adecuado para ello. Si se intenta realizar una recolección de elementos no utilizados, el motor en tiempo de ejecución se bloqueará hasta que se devuelva FunctionEnter3WithInfo

La función FunctionEnter3WithInfo no debe llamar a código administrado ni provocar una asignación de memoria administrada de ninguna forma.

Requisitos

Plataformas: vea Requisitos de sistema de .NET Framework.

Encabezado: CorProf.idl

Biblioteca: CorGuids.lib

Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vea también

Referencia

GetFunctionEnter3Info

FunctionEnter3

FunctionLeave3

Otros recursos

Funciones estáticas globales para generación de perfiles

Historial de cambios

Fecha

Historial

Motivo

Octubre de 2010

Se agregó __stdcall a la sintaxis.

Comentarios de los clientes.