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. Alors que les objets COM ont été essentiels à la programmation Windows pendant de nombreuses années, les applications conçues pour le CLR (Common Language Runtime) offrent de nombreux avantages.

Les applications .NET Framework remplaceront finalement celles qui ont été 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 le .NET Framework à votre propre rythme.

L'utilisation du .NET Framework pour créer des composants COM vous permet d'utiliser COM Interop sans inscription. Cela vous permet de contrôler quelle version de DLL est activée lorsque plusieurs versions sont installées sur un ordinateur et permet aux utilisateurs finals d'utiliser XCOPY ou FTP pour copier votre application vers un répertoire approprié sur leur ordinateur où elle peut être exécutée. Pour plus d'informations, consultez COM Interop sans inscription.

Données et code managés

Le code développé pour le .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 relatives aux données, telles que l'allocation et la libération de la mémoire, ainsi que la vérification du type. Par défaut, Visual Basic 2005 utilise des données et du code managés, mais vous pouvez accéder aux données et code non managés des objets COM à l'aide des assemblys d'interopérabilité (décrits plus loin sur cette page).

Assemblys

Un assembly constitue le bloc de construction principal d'une application .NET Framework. Il s'agit d'un ensemble de fonctionnalités qui sont générées, dotées d'une version et déployées comme une seule unité d'implémentation 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, telles que les noms des 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 à propos des éléments suivants :

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

  • Fichiers qui constituent l'implémentation de l'assembly.

  • Types et ressources qui composent l'assembly. Cela inclut les éléments qui sont exportés à partir de cet assembly.

  • Dépendances de compilation des autres assemblys.

  • Autorisations nécessaires au bon fonctionnement de l'assembly.

Pour plus d'informations sur les assemblys et les manifestes d'assembly, consultez Assemblys et le Global Assembly Cache (C# et Visual Basic).

Importation et exportation des bibliothèques de types

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

Pour plus d'informations sur Tlbimp et Tlbexp, consultez Tlbimp.exe (Type Library Importer) et Tlbexp.exe (exportateur de bibliothèques de types).

Assemblys d'interopérabilité

Les assemblys d'interopérabilité sont des assemblys .NET Framework qui servent de pont entre le code managé et non managé, en mappant les membres de l'objet COM à des membres managés du .NET Framework équivalents. Les assemblys d'interopérabilité créés par Visual Basic 2005 gèrent de nombreux détails de l'utilisation d'objets COM, par exemple le marshaling d'interopérabilité.

Marshaling d'interopérabilité

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

Voir aussi

Tâches

Procédure pas à pas : implémentation de l'héritage avec les objets COM (Visual Basic)

Dépannage des problèmes liés à l'interopérabilité (Visual Basic)

Référence

Tlbimp.exe (Type Library Importer)

Tlbexp.exe (exportateur de bibliothèques de types)

Concepts

Assemblys et le Global Assembly Cache (C# et Visual Basic)

Marshaling d'interopérabilité

Autres ressources

COM Interop (Visual Basic)

Interopération avec du code non managé

COM Interop sans inscription