模組 2. 在Windows-Based程式中使用 COM
本系列模組 1示範如何建立視窗並回應視窗訊息,例如WM_PAINT和WM_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 的三個主要目標:
- 將 物件的實作與其介面分開。
- 管理物件的存留期。
- 探索執行時間物件的功能。
本節內容
- 什麼是 COM 介面?
- 初始化 COM 程式庫
- COM 中的錯誤碼
- 在 COM 中建立物件
- 範例:開啟對話方塊
- 管理物件的存留期
- 要求物件取得介面
- COM 中的記憶體配置
- COM 程式碼撰寫做法
- COM 中的錯誤處理
相關主題