Che cos'è il formato di file TLB?
I file .tlb sono utilizzati dagli oggetti e dai componenti OLE/COM (Component Object Model) su Windows.
I file con estensione .tlb contengono librerie dei tipi che memorizzano le descrizioni delle interfacce per gli oggetti COM. Tali oggetti costituiscono i mattoni dei componenti Windows basati su COM. Una libreria dei tipi non memorizza contenuti multimediali - memorizza definizioni strutturate come:
- firme di interfacce e metodi,
- dichiarazioni di proprietà ed eventi,
- alias di tipi e costanti,
- definizioni di CoClass (classi creabili).
I file .tlb memorizzano i parametri e i metadati necessari ai client per interfacciarsi con i componenti COM in fase di esecuzione. Le librerie dei tipi possono essere incorporate in un file .EXE, in una libreria .DLL o in un controllo ActiveX .ocx come risorsa TYPELIB - oppure definite in un file .tlb autonomo. La funzione API di Windows LoadTypeLib() le carica durante l'esecuzione.
Esistono due formati binari su disco: il moderno formato MSFT (generato dal compilatore MIDL dal sorgente .idl, magic bytes MSFT) e il vecchio formato SLTG risalente alla prima era di Visual Basic e Office. Visual Basic e altri strumenti compatibili con COM utilizzano le librerie dei tipi per abilitare l'IntelliSense e il late-binding.
Sicurezza e incolumità
RISCHIO: LOWUn file .tlb è una descrizione di tipo binaria in sola lettura e non contiene codice eseguibile. Caricarne o ispezionarne uno (in OleView, Visual Studio o un visualizzatore TLB) è sicuro. Non può eseguire codice da solo. Il componente COM descritto dal .tlb (una .dll o .ocx) è la parte eseguibile e comporta i propri rischi - ma il .tlb stesso è un metadato innocuo.
Dettagli del formato
in sintesi- File Delphi Type Library (.tlb) - Anche Borland/Embarcadero Delphi utilizza .tlb per le librerie dei tipi COM che genera - stesso formato standard Microsoft COM, solo creato dagli strumenti TLIBIMP o TLIB di Delphi.
- File temporaneo del linker Watcom C++ - Alcune vecchie build Watcom/OpenWatcom utilizzavano .tlb come file oggetto/linker temporaneo - non correlato a COM, non aprire come libreria dei tipi.
Programmi che aprono file TLB
Dettagli tecnici
specifiche approfondite| Tipo di formato | Libreria dei tipi binaria COM/OLE che descrive interfacce, metodi e definizioni di tipi |
| Magic bytes formato MSFT | 4D 53 46 54 - firma MSFT all'offset 0; formato moderno generato da MIDL/CreateTypeLib2 |
| Magic bytes formato SLTG | 53 4C 54 47 - firma SLTG all'offset 0; formato più vecchio dell'era Visual Basic da CreateTypeLib |
| Ordine dei byte | Little-endian |
| Dimensione tipica del file | 10 KB - 2 MB (varia in base al numero di interfacce e tipi descritti) |
| Struttura interna | Intestazione fissa, directory dei segmenti, pool di stringhe, pool di GUID e record descrittori di tipo che codificano tutte le definizioni di interfaccia, firme di metodi, costanti ed eventi |
| Forma incorporata | Comunemente memorizzato come risorsa TYPELIB all'interno di una .dll, .ocx o .exe piuttosto che come file autonomo |
| Strumento di compilazione | Compilatore MIDL (.idl → .tlb); MKTYPLIB deprecato (.odl → .tlb) |
| API di caricamento Windows | LoadTypeLib() / LoadRegTypeLib() |
| Piattaforma | Solo Windows (sottosistema OLE/COM) |
| Uso primario | Abilita l'early binding, l'IntelliSense e lo scripting di automazione COM negli strumenti di sviluppo e nei client runtime |
| Successore parziale | .winmd (metadati ECMA-335) per WinRT; metadati assembly .NET per l'interoperabilità COM gestita |
| Rilasciato | 1993 (OLE 2.0 / COM; type library concept introduced for OLE Automation) |
| Ultima versione | MSFT format used with CreateTypeLib2 API (current; generated by MIDL compiler); SLTG format (older, CreateTypeLib API) |
| Standard aperto | Sì · royalty-free |
| Specifica | learn.microsoft.com |
Conversioni TLB
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file TLB.