Share via


模組 2. 在Windows-Based程式中使用 COM

本系列模組 1示範如何建立視窗並回應視窗訊息,例如WM_PAINTWM_CLOSE。 課程模組 2 介紹元件物件模型 (COM) 。

COM 是建立可重複使用軟體元件的規格。 您在新式 Windows 程式中使用的許多功能都依賴 COM,例如:

  • 圖形 (Direct2D)
  • 文字 (DirectWrite)
  • Windows 殼層
  • 功能區控制項
  • UI 動畫

(此清單上的某些技術使用 COM 子集,因此不是「純」COM.)

COM 有難以學習的信譽。 而且撰寫支援 COM 的新軟體模組可能很棘手。 但是,如果您的程式絕對是 COM 的 取用者 ,您可能會發現 COM 比預期更容易瞭解。

此課程模組示範如何在程式中呼叫以 COM 為基礎的 API。 它也描述 COM 設計背後的一些原因。 如果您瞭解 COM 的設計方式為何,您可以更有效率地進行程式設計。 課程模組的第二個部分說明 COM 的一些建議程式設計做法。

COM 是在 1993 年引進,以支持對象連結和內嵌 (OLE) 2.0。 人員有時認為 COM 和 OLE 相同。 這可能是 COM 難以學習的另一個原因。 OLE 2.0 建置在 COM 上,但您不需要知道 OLE 才能瞭解 COM。

COM 是 二進位標準,而非語言標準:它會定義應用程式與軟體元件之間的二進位介面。 COM 是二進位標準,雖然它自然地對應至特定 C++ 建構,但 COM 是語言中性。 本課程模組將著重于 COM 的三個主要目標:

  • 將 物件的實作與其介面分開。
  • 管理物件的存留期。
  • 探索執行時間物件的功能。

本節內容

瞭解如何以 C++ 撰寫適用于 Windows 的程式