定義 COM 介面
Microsoft定義許多 COM 介面。 在大部分情況下,您可以重複使用這些泛型介面。 不過,有些應用程式有特定需求,因此需要或有必要定義您自己的物件介面。
所有 COM 介面都必須直接或間接衍生自 IUnknown 介面。 在該條件約束內,您的自定義介面幾乎可以支援任何方法或參數,包括異步方法。 您也可以為自定義介面產生類型庫,讓用戶端可以在運行時間存取物件方法的相關信息。 定義介面之後,請在Microsoft介面定義語言 (MIDL) 中加以描述,並加以編譯並註冊,您可以使用它就像任何泛型介面一樣。 使用分散式 COM 時,遠端進程和同一部電腦上的其他進程都可以使用介面方法。
最後,建置 COM 介面需要包含 C/C++ 編譯程式和 Midl.exe 編譯程式的開發環境。
建立 COM 介面的步驟如下:
- 決定您想如何為您的介面提供封送支援,是使用類型庫驅動的封送還是代理/存根 DLL。 即使是在進程中的介面,如果要跨入公寓邊界使用,也必須封送處理。 將封送處理支援內建於每一個 COM 介面中是個好主意,即使您認為可能不需要它。 如需詳細資訊,請參閱 介面封送處理。
- 描述介面定義 (IDL) 檔案中的介面或介面。 此外,您可以在應用程式組態檔 (ACF) 中指定介面的特定本機層面。 如果您使用由類型庫驅動的封送處理,請新增 類型庫 語句,參考您要產生類型資訊的介面。
- 使用 MIDL 編譯程式來產生型別程式庫檔案和標頭檔,或 C 語言代理/存根檔案、介面識別碼檔案、DLL 資料檔和標頭檔。 如需詳細資訊,請參閱 MIDL 編譯。
- 根據您選擇的封送處理方法,撰寫模組定義(DEF)檔案,將所有由 MIDL 產生的檔案編譯並連結到單一的 Proxy DLL,然後在系統登錄中註冊介面或註冊型別函式庫。 如需詳細資訊,請參閱 載入和註冊類型庫 和 建置和註冊 Proxy DLL。
相關主題