Introduction à COM Interop (Visual Basic)

Le modèle COM (Component Object Model) permet à un objet d’exposer ses fonctionnalités à d’autres composants et d’héberger des applications. Si les objets COM sont essentiels à la programmation Windows depuis de nombreuses années, les applications conçues pour le Common Language Runtime (CLR) offrent de nombreux avantages.

Les applications .NET Framework finiront par remplacer celles développées avec COM. D’ici là, vous devrez peut-être utiliser ou créer des objets COM à l’aide de Visual Studio. L’interopérabilité avec COM, ou COM Interop, vous permet d’utiliser des objets COM existants lors de la transition vers .NET Framework à votre propre rythme.

En utilisant .NET Framework pour créer des composants COM, vous pouvez utiliser l’interopérabilité COM sans inscription. Cela vous permet de contrôler la version de DLL activée lorsque plusieurs versions sont installées sur un ordinateur, et permet aux utilisateurs finaux d’utiliser XCOPY ou FTP pour copier votre application dans un répertoire approprié sur leur ordinateur où l’exécuter. Pour plus d’informations, consultez COM Interop sans inscription.

Données et code managés

Le code développé pour .NET Framework est appelé code managé et contient des métadonnées utilisées par le CLR. Les données utilisées par les applications .NET Framework sont appelées données managées, car le runtime gère les tâches liées aux données, comme l’allocation et la récupération de mémoire, et l’exécution de la vérification de type. Par défaut, Visual Basic .NET utilise du code et des données non managés, mais vous pouvez accéder au code et aux données non managés des objets COM à l’aide d’assemblys d’interopérabilité (décrits plus loin dans cette page).

Assemblys

Un assembly est le bloc de construction principal d’une application .NET Framework. Il s’agit d’une collection de fonctionnalités générées, versionnées et déployées en tant qu’unité d’implémentation unique contenant un ou plusieurs fichiers. Chaque assembly contient un manifeste d’assembly.

Bibliothèques de types et manifestes d’assembly

Les bibliothèques de types décrivent les caractéristiques des objets COM, comme les noms de membres et les types de données. Les manifestes d’assembly exécutent la même fonction pour les applications .NET Framework. Ils incluent des informations sur les éléments suivants :

  • Identité d’assembly, version, culture et signature numérique.

  • Fichiers qui composent l’implémentation de l’assembly.

  • Types et ressources qui composent l’assembly. Cela inclut ceux qui sont exportés à partir de celui-ci.

  • Dépendances au moment de la compilation sur d’autres assemblys.

  • Autorisations requises pour que l’assembly s’exécute correctement.

Pour plus d’informations sur les assemblys et les manifestes d’assembly, consultez Assemblys dans .NET.

Importation et exportation de bibliothèques de types

Visual Studio contient un utilitaire, Tlbimp, qui vous permet d’importer des informations à partir d’une bibliothèque de types dans une application .NET Framework. Vous pouvez générer des bibliothèques de types à partir d’assemblys à l’aide de l’utilitaire Tlbexp.

Pour plus d’informations sur Tlbimp et Tlbexp, consultez Tlbimp.exe (importateur de bibliothèque de types) et Tlbexp.exe (exportateur de bibliothèque de types).

Assemblys d’interopérabilité

Les assemblys d’interopérabilité sont des assemblys .NET Framework qui font le pont entre le code managé et le code non managé, mappant les membres de l’objet COM à des membres managés .NET Framework équivalents. Les assemblys d’interopérabilité créés par Visual Basic .NET gèrent la plupart des détails de l’utilisation des objets COM, comme le marshaling d’interopérabilité.

Marshaling d’interopérabilité

Toutes les applications .NET Framework partagent un ensemble de types communs qui permettent l’interopérabilité des objets, quel que soit le langage de programmation utilisé. Les paramètres et les valeurs de retour des objets COM utilisent parfois des types de données différents de ceux utilisés dans le code managé. Le marshaling d’interopérabilité est le processus d’empaquetage des paramètres et des valeurs de retour dans des types de données équivalents lors de leur déplacement vers et depuis des objets COM. Pour plus d’informations, consultez Marshaling d’interopérabilité.

Voir aussi