Marshaling de données à l'aide de l'appel de code managé

Pour appeler des fonctions exportées à partir d'une bibliothèque non managée, une application .NET Framework a besoin d'un prototype de fonction dans du code managé qui représente la fonction non managée. Pour créer un prototype qui permette l'appel de code non managé afin de marshaler des données correctement, vous devez procéder comme suit :

  • Appliquez l'attribut DLLImportAttribute à la fonction ou méthode statique dans du code managé.

  • Remplacez les types de données managés par des types de données non managés.

Vous pouvez utiliser la documentation fournie avec une fonction non managée pour construire un prototype managé équivalent en appliquant l'attribut avec ses champs facultatifs et en remplaçant les types de données managés par des types non managés. Pour obtenir les instructions sur la manière d'appliquer l'attribut DllImportAttribute, consultez Utilisation de fonctions DLL non managées.

Cette section fournit des exemples qui montrent comment créer des prototypes de fonction managée permettant de passer des arguments et de recevoir des valeurs de retour à partir de fonctions exportées par des bibliothèques non managées. Les exemples montrent également quand utiliser l'attribut MarshalAsAttribute et la classe Marshal pour marshaler explicitement des données.

Dans cette section

Sections connexes