Partager via


Fonctions de rappel

Une fonction de rappel est du code dans une application managée qui aide une fonction DLL non managée à effectuer une tâche. Les appels à une fonction de rappel passent indirectement à partir d’une application managée, via une fonction DLL et revenent à l’implémentation managée. Certaines des nombreuses fonctions DLL appelées avec appel de plateforme nécessitent une fonction de rappel dans le code managé pour s’exécuter correctement.

Pour appeler la plupart des fonctions DLL à partir du code managé, vous créez une définition managée de la fonction, puis appelez-la. Le processus est simple.

L’utilisation d’une fonction DLL qui nécessite une fonction de rappel comporte quelques étapes supplémentaires. Tout d’abord, vous devez déterminer si la fonction nécessite un rappel en examinant la documentation de la fonction. Ensuite, vous devez créer la fonction de rappel dans votre application managée. Vous devez enfin appeler la fonction DLL, en passant un pointeur vers la fonction de rappel sous la forme d’un argument.

L’illustration suivante récapitule la fonction de rappel et les étapes d’implémentation :

Diagramme illustrant le processus de rappel de l’appel de code non managé.

Les fonctions de rappel sont idéales pour une utilisation dans les situations dans lesquelles une tâche est effectuée à plusieurs reprises. Une autre utilisation courante consiste à utiliser des fonctions d’énumération, telles que EnumFontFamilies, EnumPrinters et EnumWindows dans l’API Windows. La EnumWindows fonction énumère toutes les fenêtres existantes sur votre ordinateur, appelant la fonction de rappel pour effectuer une tâche sur chaque fenêtre. Pour obtenir des instructions et un exemple, consultez Guide pratique pour implémenter des fonctions de rappel.

Voir aussi