Partager via


Bibliothèques com, DCOM et types

Le modèle objet de composant (COM) et le modèle objet de composant distribué (DCOM) utilisent des appels de procédure distante (RPC) pour permettre aux objets de composants distribués de communiquer entre eux. Ainsi, une interface COM ou DCOM définit l’identité et les caractéristiques externes d’un objet COM. Il forme les moyens par lesquels les clients peuvent accéder aux méthodes et données d’un objet. Avec DCOM, cet accès est possible, que les objets existent dans le même processus, des processus différents sur le même ordinateur ou sur des ordinateurs différents. Comme avec les interfaces client/serveur RPC, un objet COM ou DCOM peut exposer ses fonctionnalités de différentes manières et via plusieurs interfaces.

Bibliothèque de types

Une bibliothèque de types (.tlb) est un fichier binaire qui stocke des informations sur les propriétés et méthodes d’un objet COM ou DCOM dans un formulaire accessible à d’autres applications au moment de l’exécution. À l’aide d’une bibliothèque de types, une application ou un navigateur peut déterminer quelles interfaces un objet prend en charge et appeler les méthodes d’interface d’un objet. Cela peut se produire même si les applications objet et client ont été écrites dans différents langages de programmation. L’environnement d’exécution COM/DCOM peut également utiliser une bibliothèque de types pour fournir un marshaling automatique inter-appartements, interprocesseur et cross-machine pour les interfaces décrites dans les bibliothèques de types.

Caractéristiques d’une interface

Vous définissez les caractéristiques d’une interface dans un fichier IDL (Interface Definition) et un fichier de configuration d’application facultatif (ACF) :

  • Le fichier IDL spécifie les caractéristiques des interfaces de l’application sur le câble, c’est-à-dire la façon dont les données doivent être transmises entre le client et le serveur, ou entre les objets COM.
  • Le fichier ACF spécifie des caractéristiques d’interface, telles que les handles de liaison, qui se rapportent uniquement à l’environnement d’exploitation local. Le fichier ACF peut également spécifier comment marshaler et transmettre une structure de données complexe dans un formulaire indépendant de l’ordinateur.

Pour plus d’informations sur les fichiers IDL et ACF, consultez Les fichiers IDL et ACF.

Les fichiers IDL et ACF sont des scripts écrits dans le langage MIDL (Microsoft Interface Definition Language), qui est l’implémentation et l’extension microsoft du langage de définition d’interface (IDL) OSF-DCE. Les extensions Microsoft au langage IDL vous permettent de créer des interfaces COM et des bibliothèques de types. Le compilateur, Midl.exe, utilise ces scripts pour générer des stubs et des fichiers d’en-tête de langage C ainsi que des fichiers de bibliothèque de types.

Compilateur MIDL

Selon le contenu de votre fichier IDL, le compilateur MIDL génère l’un des fichiers suivants.

Un fichier proxy/stub de langage C, un fichier d’identificateur d’interface, un fichier de données DLL et un fichier d’en-tête associé pour une interface COM personnalisée. Le compilateur MIDL génère ces fichiers lorsqu’il rencontre l’attribut d’objet dans une liste d’attributs d’interface. Pour plus d’informations sur ces fichiers, consultez Fichiers générés pour une interface COM.

Fichier de bibliothèque de types compilé (.tlb) et fichier d’en-tête associé. MIDL génère ces fichiers lorsqu’il rencontre une instruction bibliothèque dans le fichier IDL. Pour obtenir des informations générales sur les bibliothèques de types, consultez Contenu d’une bibliothèque de types, dans la référence du programmeur Automation.

Client C/C++-language et fichiers stub de serveur et fichier d’en-tête associé pour une interface RPC. Ces fichiers sont générés lorsqu’il existe des interfaces dans le fichier IDL qui n’ont pas l’objet attribut. Pour obtenir une vue d’ensemble des fichiers stub et d’en-tête, consultez procédure de génération générale. Pour plus d’informations, consultez Fichiers générés pour une interface RPC.