COM、DCOM 和類型程式庫

元件物件模型 (COM) 和分散式元件物件模型 (DCOM) 使用遠端程序呼叫 (RPC) ,讓分散式元件物件彼此通訊。 因此,COM 或 DCOM 介面會定義 COM 物件的身分識別和外部特性。 它形成用戶端可以存取物件方法和資料的方法。 使用 DCOM 時,不論物件是否存在於相同進程、相同電腦上的不同進程,或不同機器上,都可以進行此存取。 如同 RPC 用戶端/伺服器介面,COM 或 DCOM 物件可以透過多個介面以許多不同的方式公開其功能。

類型程式庫

型別程式庫 (.tlb) 是二進位檔案,可儲存 COM 或 DCOM 物件屬性和方法的相關資訊,該表單可在執行時間存取其他應用程式。 使用類型程式庫,應用程式或瀏覽器可以判斷物件支援的介面,以及叫用物件的介面方法。 即使物件和用戶端應用程式是以不同的程式設計語言撰寫,也會發生這種情況。 COM/DCOM 執行時間環境也可以使用類型程式庫,為類型程式庫中所述的介面提供自動跨 Apartment、跨進程和跨電腦封送處理。

介面的特性

您可以在介面定義中定義介面的特性, (IDL) 檔案和選擇性應用程式組態檔 (ACF) :

  • IDL 檔案會指定連線上應用程式介面的特性,也就是如何在用戶端與伺服器之間或 COM 物件之間傳輸資料。
  • ACF 檔案會指定與本機作業環境相關的介面特性,例如系結控制碼。 ACF 檔案也可以指定如何在與機器無關的表單中封送處理和傳輸複雜的資料結構。

如需 IDL 和 ACF 檔案的詳細資訊,請參閱 IDL 和 ACF 檔案

IDL 和 ACF 檔案是以 Microsoft 介面定義語言 (MIDL) 撰寫的腳本,這是 OSF-DCE 介面定義語言的 Microsoft 實作和延伸模組, (IDL) 。 IDL 語言的 Microsoft 延伸模組可讓您建立 COM 介面和型別程式庫。 編譯器Midl.exe使用這些腳本來產生 C 語言存根和標頭檔,以及類型程式庫檔案。

MIDL 編譯器

根據 IDL 檔案的內容,MIDL 編譯器會產生下列任何檔案。

C 語言 Proxy/存根檔案、介面識別碼檔案、DLL 資料檔案,以及自訂 COM 介面的相關標頭檔。 MIDL 編譯器會在介面屬性清單中遇到物件屬性時產生這些檔案。 如需這些檔案的詳細資訊,請參閱 針對 COM 介面產生的檔案

編譯的型別程式庫 (.tlb) 檔案和相關標頭檔。 MIDL 會在 IDL 檔案中遇到 程式庫 語句時產生這些檔案。 如需型別程式庫的一般資訊,請參閱自動化程式設計人員參考中的 型別程式庫內容

RPC 介面的 C/C++語言用戶端和伺服器存根檔案和相關標頭檔。 當 IDL 檔案中有沒有 物件 屬性的介面時,就會產生這些檔案。 如需存根和標頭檔的概觀,請參閱 一般建置程式。 如需詳細資訊,請參閱 針對 RPC 介面產生的檔案