encyklopedia.space

COM content

COM content (z ang. Component Object Model content) to zestaw danych, interfejsów i zasobów wykorzystywanych w architekturze Component Object Model (COM) opracowanej przez Microsoft. Termin obejmuje zarówno struktury binarne przechowywane w plikach Dynamic Link Library (DLL) oraz plikach wykonywalnych, jak i opis meta‑informacji niezbędnych do rejestracji, komunikacji oraz wersjonowania komponentów COM.

Definicja

W kontekście COM content odnosi się do trzech podstawowych elementów:

  • Interfejsy – opisane w plikach typów (.tlb) i rejestrowane w bazie rejestru systemu Windows jako identyfikatory GUID (ang. Globally Unique Identifier).
  • Kod – implementacja interfejsów zawarta w DLL lub plikach wykonywalnych (.exe), udostępniająca funkcje jako binary executable.
  • Dane – zasoby konfiguracyjne, pliki konfiguracyjne (.manifest), oraz dowolne zasoby binarne (np. obrazy, szablony, skrypty) udostępniane aplikacjom korzystającym z komponentu.

Historia

Podstawy COM zostały opracowane w latach 19931995 jako element platformy Windows 95. Pierwsze komponenty COM, znane jako ActiveX, umożliwiły tworzenie wielokrotnie używalnych elementów UI i logiki biznesowej, które mogły być współdzielone pomiędzy różnymi aplikacjami. W 1998 roku wprowadzono COM+, rozszerzając możliwości zarządzania transakcjami i bezpieczeństwem.

Struktura COM content

Standardowa struktura pliku zawierającego COM content składa się z poniższych sekcji:

  1. Header – zawiera informacje o wersji interfejsu, typie architektury (x86, x64) oraz wskaźniki do sekcji type library.
  2. Type Library – opis typów, struktur danych i interfejsów w formacie binarnym, który może być odczytany przez narzędzia takie jak OleView.
  3. Implementation – sekcja kodu (np. funkcje w języku C++), zbudowana jako DLL lub EXE serwer COM.
  4. Resources – zasoby dodatkowe (ikony, obrazy, pliki konfiguracyjne), które mogą być odczytane przy pomocy API LoadResource.
  5. Registration Data – wpisy rejestru Windows (klucze w HKCR), automatycznie tworzone podczas instalacji za pomocą narzędzia regsvr32.

Zastosowania

COM content jest wykorzystywany w wielu dziedzinach:

Bezpieczeństwo i wersjonowanie

W środowisku COM bezpieczeństwo realizowane jest na kilku poziomach:

  • Kontrola dostępu do rejestru (HKCR) – zapewnia, że tylko uprawnione konta mogą rejestrować lub wyrejestrować komponenty.
  • Model uprawnień COM – definiuje, które aplikacje mogą tworzyć instancje określonych klas (CLSID) na podstawie Security Descriptor.
  • Wersjonowanie typów – identyfikatory GUID oraz numery wersji w type library umożliwiają jednoczesną obsługę wielu wersji tego samego komponentu.

Przykładowy kod rejestracji

REGSVR32 MyComponent.dll

Powyższe polecenie uruchamia funkcję DllRegisterServer wewnątrz MyComponent.dll, co prowadzi do dodania niezbędnych wpisów w rejestrze.

Powiązane pojęcia

W artykule Component Object Model omówiono mechanizmy, na których opiera się COM content. Inne istotne tematy to:

  • COM+ – rozszerzenie COM z obsługą transakcji i zarządzania zasobami.
  • Distributed COM (DCOM) – wersja COM umożliwiająca komunikację w sieci.
  • OLE Automation – interfejsy umożliwiające automatyzację aplikacji.
  • ActiveX – komponenty COM wykorzystywane w interfejsach internetowych.

Źródła

Informacje pochodzą z dokumentacji Microsoft, standardów ISO/IEC 2382 oraz publikacji branżowych dostępnych w sekcji Biblioteka encyklopedii.