Partager via


Prise en charge de l'appel de plate-forme (Platform Invoke)

Mise à jour : novembre 2007

L'appel de plate-forme est un service qui permet à du code managé d'appeler des fonctions non managées implémentées dans les DLL. Sémantiquement, vous pouvez utiliser l'appel de plate-forme de la même façon que dans le .NET Framework complet, mais le .NET Compact Framework présente quelques limitations dans le marshaling des objets et des types entre le code non managé et le code managé.

Dans le .NET Compact Framework, un appel de plate-forme comporte trois parties :

  1. Au moment du design, le développeur fournit une description de la fonction non managée à appeler. Cette description inclut le nom du module (fichier DLL), le nom du point d'entrée et la convention d'appel.

  2. Au moment de la compilation juste-à-temps, le Common Language Runtime extrait ces informations des métadonnées, recherche la DLL contenant la fonction, charge la DLL en mémoire et récupère l'adresse de la fonction. Si le module ou la fonction est introuvable, le Common Language Runtime lève une MissingMethodException.

  3. Au moment de l'exécution, le Common Language Runtime marshale les paramètres du format managé au format non managé avant l'appel à la fonction non managée. Le Common Language Runtime se sert de la déclaration managée de la méthode pour déterminer comment marshaler chaque paramètre.

Dans cette section

Rubriques connexes