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