Vad är filformatet TLB?
.tlb-filer används av OLE/COM-objekt (Component Object Model) och komponenter i Windows.
Filer med filtillägget .tlb innehåller typsbibliotek som lagrar gränssnittsbeskrivningar för COM-objekt. Sådana objekt utgör byggstenarna i COM-baserade Windows-komponenter. Ett typsbibliotek lagrar inte medieinnehåll - det lagrar strukturerade definitioner såsom:
- gränssnitts- och metodsignaturer,
- egenskaps- och händelsedeklarationer,
- typalias och konstanter,
- CoClass-definitioner (skapbara klasser).
.tlb-filer lagrar de parametrar och metadata som krävs för att klienter ska kunna kommunicera med COM-komponenter vid körning. Typsbibliotek kan bäddas in i en .EXE-fil, ett .DLL-bibliotek eller en .ocx ActiveX-kontroll som en TYPELIB-resurs - eller definieras i en fristående .tlb-fil. Windows API-funktionen LoadTypeLib() laddar dem vid körning.
Det finns två binära format på disk: det moderna MSFT-formatet (genererat av MIDL-kompilatorn från .idl-källkod, magic bytes MSFT) och det äldre SLTG-formatet från den tidiga Visual Basic- och Office-eran. Visual Basic och andra COM-medvetna verktyg använder typsbibliotek för att möjliggöra IntelliSense och sen bindning.
Säkerhet & trygghet
RISK: LOWEn .tlb-fil är en skrivskyddad binär typbeskrivning och innehåller ingen exekverbar kod. Att ladda eller inspektera en (i OleView, Visual Studio eller en TLB-visare) är säkert. Den kan inte köra kod på egen hand. COM-komponenten som .tlb-filen beskriver (en .dll eller .ocx) är den exekverbara delen och bär sin egen risk - men själva .tlb-filen är ofarlig metadata.
Formatdetaljer
i ett nötskal- Delphi Type Library-fil (.tlb) - Borland/Embarcadero Delphi använder också .tlb för COM-typsbibliotek som den genererar - samma Microsoft COM-standardformat, bara skapat av Delphis TLIBIMP- eller TLIB-verktyg.
- Watcom C++ linker temp-fil - Vissa äldre Watcom/OpenWatcom-byggen använde .tlb som en temporär objekt-/länkfil - orelaterat till COM, öppna inte som ett typsbibliotek.
Program som öppnar TLB-filer
Tekniska detaljer
djup specifikation| Formattyp | Binärt COM/OLE-typsbibliotek som beskriver gränssnitt, metoder och typdefinitioner |
| Magic bytes för MSFT-format | 4D 53 46 54 - MSFT-signatur vid offset 0; modernt format genererat av MIDL/CreateTypeLib2 |
| Magic bytes för SLTG-format | 53 4C 54 47 - SLTG-signatur vid offset 0; äldre format från Visual Basic-eran skapat med CreateTypeLib |
| Byteordning | Little-endian |
| Typisk filstorlek | 10 KB - 2 MB (varierar beroende på antal gränssnitt och typer som beskrivs) |
| Intern struktur | Fast header, segmentkatalog, strängpool, GUID-pool och typpostbeskrivningar som kodar alla gränssnittsdefinitioner, metodsignaturer, konstanter och händelser |
| Inbäddad form | Lagras ofta som en TYPELIB-resurs inuti en .dll, .ocx eller .exe snarare än som en fristående fil |
| Byggverktyg | MIDL-kompilator (.idl → .tlb); föråldrad MKTYPLIB (.odl → .tlb) |
| Windows API för laddning | LoadTypeLib() / LoadRegTypeLib() |
| Plattform | Endast Windows (OLE/COM-undersystemet) |
| Huvudsaklig användning | Möjliggör tidig bindning, IntelliSense och COM-automationsskript i utvecklingsverktyg och runtime-klienter |
| Partiell efterföljare | .winmd (ECMA-335 metadata) för WinRT; .NET assembly-metadata för hanterad COM-interop |
| Släppt | 1993 (OLE 2.0 / COM; type library concept introduced for OLE Automation) |
| Senaste version | MSFT format used with CreateTypeLib2 API (current; generated by MIDL compiler); SLTG format (older, CreateTypeLib API) |
| Öppen standard | Ja · royaltyfri |
| Specifikation | learn.microsoft.com |
TLB-konverteringar
Frågor & svar
frågat av användareInga frågor än - bli den första att fråga om TLB-filer.