Qu'est-ce que le format de fichier TLB ?
Les fichiers .tlb sont utilisés par les objets et composants OLE/COM (Component Object Model) sous Windows.
Les fichiers avec l'extension .tlb contiennent des bibliothèques de types qui stockent les descriptions d'interface pour les objets COM. Ces objets constituent les briques de base des composants Windows basés sur COM. Une bibliothèque de types ne stocke pas de contenu multimédia - elle stocke des définitions structurées telles que :
- les signatures d'interfaces et de méthodes,
- les déclarations de propriétés et d'événements,
- les alias de types et les constantes,
- les définitions de CoClass (classes créables).
Les fichiers .tlb stockent les paramètres et les métadonnées nécessaires aux clients pour interagir avec les composants COM au moment de l'exécution. Les bibliothèques de types peuvent être intégrées dans un fichier .EXE, une bibliothèque .DLL ou un contrôle ActiveX .ocx en tant que ressource TYPELIB - ou définies dans un fichier .tlb autonome. La fonction API Windows LoadTypeLib() les charge au moment de l'exécution.
Deux formats binaires existent sur disque : le format moderne MSFT (généré par le compilateur MIDL à partir de la source .idl, octets magiques MSFT) et l'ancien format SLTG datant de l'époque de Visual Basic et Office. Visual Basic et d'autres outils compatibles COM utilisent les bibliothèques de types pour activer IntelliSense et la liaison tardive (late-binding).
Sécurité et sûreté
RISQUE : LOWUn fichier .tlb est une description de type binaire en lecture seule et ne contient aucun code exécutable. Le chargement ou l'inspection d'un tel fichier (dans OleView, Visual Studio ou un visualiseur TLB) est sûr. Il ne peut pas exécuter de code par lui-même. Le composant COM que le .tlb décrit (un .dll ou .ocx) est la partie exécutable et comporte ses propres risques - mais le .tlb lui-même est une métadonnée inoffensive.
Détails du format
en bref- Fichier Delphi Type Library (.tlb) - Borland/Embarcadero Delphi utilise également .tlb pour les bibliothèques de types COM qu'il génère - même format standard Microsoft COM, simplement créé par les outils TLIBIMP ou TLIB de Delphi.
- Fichier temporaire de l'éditeur de liens Watcom C++ - Certaines anciennes versions de Watcom/OpenWatcom utilisaient .tlb comme fichier objet/éditeur de liens temporaire - sans rapport avec COM, ne pas ouvrir comme une bibliothèque de types.
Programmes qui ouvrent les fichiers TLB
Détails techniques
spécifications approfondies| Type de format | Bibliothèque de types binaire COM/OLE décrivant les interfaces, les méthodes et les définitions de types |
| Octets magiques du format MSFT | 4D 53 46 54 - signature MSFT à l'offset 0 ; format moderne généré par MIDL/CreateTypeLib2 |
| Octets magiques du format SLTG | 53 4C 54 47 - signature SLTG à l'offset 0 ; ancien format de l'époque Visual Basic issu de CreateTypeLib |
| Ordre des octets | Little-endian |
| Taille de fichier typique | 10 Ko - 2 Mo (varie selon le nombre d'interfaces et de types décrits) |
| Structure interne | En-tête fixe, répertoire de segments, pool de chaînes, pool de GUID et enregistrements de descripteurs de types encodant toutes les définitions d'interface, signatures de méthodes, constantes et événements |
| Forme intégrée | Couramment stocké en tant que ressource TYPELIB à l'intérieur d'un .dll, .ocx ou .exe plutôt qu'en tant que fichier autonome |
| Outil de construction | Compilateur MIDL (.idl → .tlb) ; MKTYPLIB obsolète (.odl → .tlb) |
| API de chargement Windows | LoadTypeLib() / LoadRegTypeLib() |
| Plateforme | Windows uniquement (sous-système OLE/COM) |
| Utilisation principale | Permet la liaison précoce (early binding), l'IntelliSense et le scripting d'automatisation COM dans les outils de développement et les clients d'exécution |
| Successeur partiel | .winmd (métadonnées ECMA-335) pour WinRT ; métadonnées d'assembly .NET pour l'interopérabilité COM managée |
| Publié | 1993 (OLE 2.0 / COM; type library concept introduced for OLE Automation) |
| Dernière version | MSFT format used with CreateTypeLib2 API (current; generated by MIDL compiler); SLTG format (older, CreateTypeLib API) |
| Standard ouvert | Oui · libre de droits |
| Spécification | learn.microsoft.com |
Conversions TLB
Q&R de la communauté
posées par les utilisateursPas encore de questions - soyez le premier à poser une question sur les fichiers TLB.