FunctionTailcall3 (Función)
Notifica al generador de perfiles que la función que se está ejecutando actualmente está a punto de realizar una llamada de cola a otra función.
Sintaxis
void __stdcall FunctionTailcall3 (FunctionOrRemappedID functionOrRemappedID);
Parámetros
functionOrRemappedID
[in] Identificador de la función que se está ejecutando actualmente y que está a punto de realizar una llamada de cola.
Comentarios
La función de devolución de llamada FunctionTailcall3
notifica al generador de perfiles a medida que se llama a las funciones. Use el método ICorProfilerInfo3::SetEnterLeaveFunctionHooks3 para registrar la implementación de esta función.
La función FunctionTailcall3
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 autor de la llamada para restaurar la pila.
La implementación de la función FunctionTailcall3
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 runtime se bloqueará hasta que FunctionTailcall3
devuelva un valor.
La función FunctionTailcall3
no deberá usarse para realizar llamadas a código administrado ni para provocar una asignación de memoria administrada de cualquier manera.
Requisitos
Plataformas: Vea Requisitos de sistema.
Encabezado: CorProf.idl
Biblioteca: CorGuids.lib
Versiones de .NET Framework: disponible a partir de la versión 4