共用方式為


建立 Registration-Free COM 物件

啟用內容可讓 COM 物件使用,而不需要註冊它們。 這可讓應用程式根據不同版本,而不是其登錄資訊,擁有具有不同功能的多個元件。 多個元件可以使用相同的 GUID 公開相同的 COM 物件,但根據版本有不同的功能。

當應用程式從 CLSIDFromProgID要求 GUID 時,COM 會先在活動的啟用上下文中搜尋從 progid 到 CLSID 的對應。 當應用程式使用 CoCreateInstance 來取得實例介面指標時,COM 會在使用中啟用內容中搜尋以尋找將裝載 CLSID 的 DLL。 如果啟用內容未包含必要資訊,COM 會使用一般方法搜尋登錄中的資訊。

請注意,由於啟用內容是每個線程特有的,COM 會將建立線程的啟用內容封送至主機線程,並在主機線程上啟動它,然後再呼叫 LoadLibraryDllGetClassObject。 這項功能已存在於 Windows 中,不需要用戶端程式代碼就能執行任何動作來實作此動作。

裝載的元件可以匯出 COM 類別,而不需經過登錄。 多個元件可以為不同的 COM 物件公開相同的 ProgID,而裝載應用程式需要找到適當的啟用內容,然後使用 CLSIDFromProgIDCoCreateInstance 來獲取裝載物件的介面指標。