Biblioteki COM, DCOM i Type
Model obiektów składników (COM) i rozproszony model obiektów składników (DCOM) używają zdalnych wywołań procedur (RPC), aby umożliwić obiektom składników rozproszonych komunikowanie się ze sobą. W związku z tym interfejs COM lub DCOM definiuje tożsamość i cechy zewnętrzne obiektu COM. Tworzy on środki, za pomocą których klienci mogą uzyskać dostęp do metod i danych obiektu. W przypadku modelu DCOM ten dostęp jest możliwy niezależnie od tego, czy obiekty istnieją w tym samym procesie, różne procesy na tym samym komputerze, czy na różnych maszynach. Podobnie jak w przypadku interfejsów klienta/serwera RPC obiekt COM lub DCOM może uwidocznić jego funkcjonalność na wiele różnych sposobów i za pośrednictwem wielu interfejsów.
Biblioteka typów
Biblioteka typów (.tlb) to plik binarny, który przechowuje informacje o właściwościach i metodach obiektu COM lub DCOM w postaci dostępnej dla innych aplikacji w czasie wykonywania. Korzystając z biblioteki typów, aplikacja lub przeglądarka może określić interfejsy obsługiwane przez obiekt i wywoływać metody interfejsu obiektu. Taka sytuacja może wystąpić nawet wtedy, gdy obiekty i aplikacje klienckie zostały napisane w różnych językach programowania. Środowisko czasu wykonywania COM/DCOM może również używać biblioteki typów w celu zapewnienia automatycznego współużernictwa międzylokacyjnego, międzyprocesowego i marshalingu między maszynami dla interfejsów opisanych w bibliotekach typów.
Cechy interfejsu
Właściwości interfejsu definiuje się w pliku definicji interfejsu (IDL) i opcjonalny plik konfiguracji aplikacji (ACF):
- Plik IDL określa charakterystykę interfejsów aplikacji w sieci — czyli sposób przesyłania danych między klientem a serwerem lub między obiektami COM.
- Plik ACF określa charakterystyki interfejsu, takie jak uchwyty powiązań, które odnoszą się tylko do lokalnego środowiska operacyjnego. Plik ACF może również określać sposób marshalingu i przesyłania złożonej struktury danych w formie niezależnej od maszyny.
Aby uzyskać więcej informacji na temat plików IDL i ACF, zobacz pliki IDL i ACF.
Pliki IDL i ACF to skrypty napisane w języku Microsoft Interface Definition Language (MIDL), który jest implementacją i rozszerzeniem języka definicji interfejsu OSF-DCE (IDL). Rozszerzenia firmy Microsoft w języku IDL umożliwiają tworzenie interfejsów COM i bibliotek typów. Kompilator, Midl.exe, używa tych skryptów do generowania wycinków języka C i plików nagłówkowych, a także plików bibliotek typów.
Kompilator MIDL
W zależności od zawartości pliku IDL kompilator MIDL wygeneruje dowolne z poniższych plików.
Plik proxy/wycinkowy języka C, plik identyfikatora interfejsu, plik danych DLL i powiązany plik nagłówkowy dla niestandardowego interfejsu COM. Kompilator MIDL generuje te pliki, gdy napotka atrybut obiektu na liście atrybutów interfejsu. Aby uzyskać bardziej szczegółowe informacje na temat tych plików, zobacz Files Generated for a COM Interface.
Skompilowany plik biblioteki typów (.tlb) i powiązany plik nagłówka. Narzędzie MIDL generuje te pliki, gdy napotka on instrukcjębibliotekiw pliku IDL. Aby uzyskać ogólne informacje o bibliotekach typów, zobacz Zawartość biblioteki typów, w dokumentacji programisty automatyzacji.
C/C++-language client and server stub files and related header file for an RPC interface(C/C++-language client and server stub files and related header file for an RPC interface). Te pliki są generowane, gdy w pliku IDL znajdują się interfejsy, które nie mają atrybutuobiektu. Aby zapoznać się z omówieniem plików wycinków i nagłówków, zobacz Ogólne procedury kompilacji. Aby uzyskać bardziej szczegółowe informacje, zobacz pliki wygenerowane dla interfejsu RPC.