Partager via


Consommation de fonctions DLL non managées

L'appel de plateforme 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 plateforme.

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 plateforme, consultez Marshaling de données à l'aide de l'appel de plateforme.

Voir aussi

Concepts

Présentation détaillée de l'appel de code non managé

Exemples d'appel de code non managé

Marshaling d'interopérabilité

Autres ressources

Interopération avec du code non managé