Comparteix a través de


FunctionLeave (Función)

Notifica al generador de perfiles que una función está a punto de volver al autor de la llamada.

Nota

La función FunctionLeave está en desuso en .NET Framework 2.0. Seguirá funcionando, pero incurrirá en una penalización de rendimiento. Use la función FunctionLeave2 en su lugar.

Sintaxis

void __stdcall FunctionLeave (  
    [in] FunctionID funcID  
);  

Parámetros

funcID [in] El valor de este parámetro se corresponde con el identificador de la función que se va a devolver.

Comentarios

La función FunctionLeave es una devolución de llamada y, como tal, debe implementarse. La implementación debe usar el atributo __declspec(naked) de las clases de almacenamiento.

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

  • En el proceso de entrada de la función, deberá guardar todos los registros que use, incluidos los de la unidad de punto flotante (FPU).

  • En el proceso de salida, deberá quitar todos los parámetros que haya insertado su llamador para restaurar la pila.

La implementación de la función FunctionLeave no debe bloquearse, ya que esto producirá retrasos en los procesos de recolección de elementos no utilizados. En la implementación, no deberá intentarse realizar un proceso de recolección de elementos no utilizados, ya que es posible que la pila esté en un estado en el que este no se pueda realizar. Si se intenta realizar un proceso de recolección de elementos no utilizados, el tiempo de ejecución se bloqueará hasta que se devuelva la función FunctionLeave.

Además, la función FunctionLeave no deberá usarse para realizar llamadas a código administrado ni para provocar una asignación de memoria administrada sin importar el motivo.

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: CorProf.idl

Biblioteca: CorGuids.lib

Versiones de .NET Framework: 1.1, 1.0

Consulte también