Compartir a través de


Funciones de devolución de llamada

Una función de devolución de llamada es código dentro de una aplicación administrada que ayuda a una función DLL no administrada a completar una tarea. Las llamadas a una función de callback pasan indirectamente desde una aplicación administrada, a través de una función DLL, y regresan a la implementación administrada. Algunas de las muchas funciones DLL llamadas con invocación de plataforma requieren una función de devolución de llamada en código administrado para ejecutarse correctamente.

Para llamar a la mayoría de las funciones DLL desde código administrado, cree una definición administrada de la función y, a continuación, llámela. El proceso es sencillo.

El uso de una función DLL que requiere una función de devolución de llamada tiene algunos pasos adicionales. En primer lugar, debe determinar si la función requiere un callback consultando la documentación de la función. A continuación, debe crear la función callback en su aplicación administrada. Por último, se llama a la función DLL, pasando un puntero a la función de devolución de llamada como argumento.

En la siguiente ilustración se resumen la función de devolución de llamada y los pasos de implementación:

Diagrama que muestra el proceso de devolución de llamada para la invocación de plataforma.

Las funciones de devolución de llamada son ideales para su uso en situaciones en las que se realiza una tarea repetidamente. Otro uso común es con funciones de enumeración, como EnumFontFamilies, EnumPrinters y EnumWindows en la API de Windows. La función EnumWindows enumera todas las ventanas existentes en tu equipo, llamando a la función de retorno para realizar una tarea en cada ventana. Para obtener instrucciones y un ejemplo, vea Cómo: Implementar funciones de devolución de llamada.

Consulte también