Co to jest format pliku TLB?
Pliki .tlb są używane przez obiekty i komponenty OLE/COM (Component Object Model) w systemie Windows.
Pliki z rozszerzeniem .tlb zawierają biblioteki typów, które przechowują opisy interfejsów dla obiektów COM. Takie obiekty stanowią bloki konstrukcyjne komponentów Windows opartych na COM. Biblioteka typów nie przechowuje treści multimedialnych - przechowuje strukturalne definicje, takie jak:
- sygnatury interfejsów i metod,
- deklaracje właściwości i zdarzeń,
- aliasy typów i stałe,
- definicje CoClass (klas możliwych do utworzenia).
Pliki .tlb przechowują parametry i metadane niezbędne dla klientów do interakcji z komponentami COM w czasie wykonywania. Biblioteki typów mogą być osadzone w pliku .EXE, bibliotece .DLL lub kontrolce ActiveX .ocx jako zasób TYPELIB - lub zdefiniowane w autonomicznym pliku .tlb. Funkcja Windows API LoadTypeLib() ładuje je w czasie wykonywania.
Istnieją dwa formaty binarne na dysku: nowoczesny format MSFT (generowany przez kompilator MIDL ze źródła .idl, magiczne bajty MSFT) oraz starszy format SLTG z wczesnej ery Visual Basic i Office. Visual Basic i inne narzędzia obsługujące COM używają bibliotek typów, aby umożliwić działanie funkcji IntelliSense i późnego wiązania.
Bezpieczeństwo
RYZYKO: LOWPlik .tlb jest binarnym opisem typów tylko do odczytu i nie zawiera kodu wykonywalnego. Ładowanie lub inspekcja takiego pliku (w OleView, Visual Studio lub przeglądarce TLB) jest bezpieczna. Nie może on samodzielnie uruchomić kodu. Komponent COM, który opisuje plik .tlb (plik .dll lub .ocx), jest częścią wykonywalną i niesie własne ryzyko - ale sam plik .tlb to nieszkodliwe metadane.
Szczegóły formatu
w pigułce- Plik biblioteki typów Delphi (.tlb) - Borland/Embarcadero Delphi również używa rozszerzenia .tlb dla generowanych przez siebie bibliotek typów COM - jest to ten sam standardowy format Microsoft COM, stworzony jedynie przez narzędzia TLIBIMP lub TLIB z Delphi.
- Plik tymczasowy linkera Watcom C++ - Niektóre starsze kompilacje Watcom/OpenWatcom używały .tlb jako tymczasowego pliku obiektu/linkera - nie jest on powiązany z COM, nie należy go otwierać jako biblioteki typów.
Programy otwierające pliki TLB
Szczegóły techniczne
specyfikacja| Typ formatu | Binarna biblioteka typów COM/OLE opisująca interfejsy, metody i definicje typów |
| Magiczne bajty formatu MSFT | 4D 53 46 54 - sygnatura MSFT na offsecie 0; nowoczesny format generowany przez MIDL/CreateTypeLib2 |
| Magiczne bajty formatu SLTG | 53 4C 54 47 - sygnatura SLTG na offsecie 0; starszy format z ery Visual Basic z CreateTypeLib |
| Kolejność bajtów | Little-endian |
| Typowy rozmiar pliku | 10 KB - 2 MB (różni się w zależności od liczby opisanych interfejsów i typów) |
| Struktura wewnętrzna | Stały nagłówek, katalog segmentów, pula ciągów znaków, pula GUID i rekordy deskryptorów typów kodujące wszystkie definicje interfejsów, sygnatury metod, stałe i zdarzenia |
| Forma osadzona | Często przechowywany jako zasób TYPELIB wewnątrz pliku .dll, .ocx lub .exe zamiast jako samodzielny plik |
| Narzędzie budowania | Kompilator MIDL (.idl → .tlb); przestarzały MKTYPLIB (.odl → .tlb) |
| API ładowania Windows | LoadTypeLib() / LoadRegTypeLib() |
| Platforma | Tylko Windows (podsystem OLE/COM) |
| Główne zastosowanie | Umożliwia wczesne wiązanie, IntelliSense i skryptowanie automatyzacji COM w narzędziach programistycznych i u klientów wykonawczych |
| Częściowy następca | .winmd (metadane ECMA-335) dla WinRT; metadane zestawów .NET dla zarządzanej interakcji COM |
| Wydano | 1993 (OLE 2.0 / COM; type library concept introduced for OLE Automation) |
| Najnowsza wersja | MSFT format used with CreateTypeLib2 API (current; generated by MIDL compiler); SLTG format (older, CreateTypeLib API) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | learn.microsoft.com |
Konwersje TLB
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki TLB.