登錄機碼的配置

[與此頁面相關的功能 DirectShow是舊版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音訊/視訊擷取取代。 這些功能已針對Windows 10和Windows 11進行優化。 Microsoft 強烈建議新程式碼盡可能使用 MediaPlayerIMFMediaEngine音訊/視訊擷取 ,而不是 DirectShow。 Microsoft 建議使用舊版 API 的現有程式碼盡可能重寫為使用新的 API。

DirectShow 篩選準則會在兩個位置註冊:

  • 包含篩選的 DLL 會註冊為篩選的 COM 伺服器。 當應用程式呼叫 CoCreateInstance 來建立篩選時,Microsoft Windows COM 程式庫會使用此登錄專案來尋找 DLL。
  • 篩選準則的其他資訊可以在篩選類別內註冊。 這項資訊可讓 系統裝置列舉值篩選對應程式 找出篩選準則。

不需要篩選才能註冊其他篩選資訊。 只要 DLL 註冊為 COM 伺服器,應用程式就可以建立篩選,並將其新增至篩選圖形。 不過,如果您希望系統裝置列舉值或篩選對應器能夠探索篩選準則,則必須註冊其他資訊。

DLL 的登錄專案具有下列機碼:

HKEY_CLASSES_ROOT
    CLSID
        Filter CLSID 
            REG_SZ: (Default) = Friendly name

            InprocServer32
                REG_SZ: (Default) = File name of the DLL
                REG_SZ: ThreadingModel = Both

篩選資訊的登錄專案具有下列機碼:

HKEY_CLASSES_ROOT
    CLSID
        Category
            Instance
                Filter CLSID
                    REG_SZ: CLSID = Filter CLSID
                    REG_BINARY: FilterData = Filter information
                    REG_SZ: FriendlyName = Friendly name
Category

是篩選類別的 GUID。 (請參閱 Filter Categories.) 篩選資訊會封裝成二進位格式。 IFilterMapper2介面會在搜尋登錄中尋找篩選準則時解除封裝此資料。

所有篩選類別 GUID 都會列在登錄的下列機碼底下:

HKEY_CLASSES_ROOT\CLSID\{DA4E3DA0-D07D-11d0-BD50-00A0C911CE86}\Instance