Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
L’habillage d’une fonction DLL fréquemment utilisée dans une classe managée est une approche efficace pour encapsuler les fonctionnalités de la plateforme. Bien qu’il ne soit pas obligatoire de le faire dans tous les cas, fournir un wrapper de classe est pratique, car la définition des fonctions DLL peut être fastidieuse et sujette aux erreurs. Si vous programmez en Visual Basic ou C#, vous devez déclarer des fonctions DLL dans une classe ou un module Visual Basic.
Dans une classe, vous définissez une méthode statique pour chaque fonction DLL que vous souhaitez appeler. La définition peut inclure des informations supplémentaires, telles que le jeu de caractères ou la convention d’appel utilisée pour passer des arguments de méthode ; en omettant ces informations, vous sélectionnez les paramètres par défaut. Pour obtenir la liste complète des options de déclaration et de leurs paramètres par défaut, consultez Création de prototypes dans le code managé.
Une fois encapsulé, vous pouvez appeler les méthodes sur la classe lorsque vous appelez des méthodes statiques sur n’importe quelle autre classe. L’appel de plateforme gère automatiquement la fonction exportée sous-jacente.
Lors de la conception d’une classe managée pour l’appel de plateforme, tenez compte des relations entre les classes et les fonctions DLL. Par exemple, vous pouvez :
Déclarez des fonctions DLL dans une classe existante.
Créez une classe individuelle pour chaque fonction DLL, en conservant les fonctions isolées et faciles à trouver.
Créez une classe pour un ensemble de fonctions DLL associées pour former des regroupements logiques et réduire la surcharge.
Vous pouvez nommer la classe et ses méthodes comme vous le souhaitez. Pour obtenir des exemples montrant comment construire des déclarations .NET à utiliser avec un appel de code non managé, consultez Marshaling de données avec un appel de code non managé.