Consommation de fonctions DLL non managées

L'appel de plate-forme est un service qui permet à du code managé d'appeler des fonctions non managées implémentées dans des bibliothèques de liens dynamiques (DLL), comme celles figurant dans l'interface API Win32. Elle localise et appelle une fonction exportée et marshale ses arguments (entiers, chaînes, tableaux, structures) sur les limites d'interopérabilité si nécessaire. Pour plus d'informations sur ce service, consultez Présentation détaillée de l'appel de plate-forme.

Cette section présente plusieurs tâches associées à la consommation de fonctions DLL non managées. Outre les tâches suivantes, des considérations générales et un lien fournissant des informations supplémentaires et des exemples sont disponibles.

Pour consommer des fonctions DLL exportées

  1. Identifiez les fonctions des DLL.

    Vous devez au moins spécifier le nom de la fonction et le nom de la DLL qui la contient.

  2. Créez une classe pour contenir des fonctions DLL.

    Vous pouvez utiliser une classe existante, créer une classe individuelle pour chaque fonction non managée ou créer une classe qui contient un ensemble de fonctions non managées associées.

  3. Créez des prototypes dans du code managé.

    [Visual Basic] Utilisez l'instruction Declare avec les mots clés Function et Lib. Dans certains cas rares, vous pouvez utiliser DllImportAttribute avec les mots clés Shared Function. Ces cas sont expliqués plus loin dans cette section.

    [C#] Utilisez DllImportAttribute pour identifier la DLL et la fonction. Marquez la méthode avec les modificateurs static et extern.

    [C++] Utilisez DllImportAttribute pour identifier la DLL et la fonction. Marquez la fonction ou la méthode de wrapper avec extern "C".

  4. Appelez une fonction DLL.

    Appelez la méthode sur votre classe managée comme vous le feriez avec toute autre méthode managée. Le passage de structures et l'implémentation de fonctions de rappel sont des cas spéciaux.

Pour voir des exemples montrant comment construire des déclarations .NET à utiliser avec l'appel de plate-forme, consultez Marshaling de données à l'aide de l'appel de plate-forme.

Voir aussi

Concepts

Présentation détaillée de l'appel de plate-forme
Exemples d'appel de plate-forme

Autres ressources

Interopération avec du code non managé
Marshaling d'interopérabilité