登錄機碼的配置
[與此頁面相關聯的功能,DirectShow是舊版功能。 它已被 MediaPlayer、imfMediaEngine 取代,並在媒體基金會 音訊/視訊擷取。 這些功能已針對 Windows 10 和 Windows 11 進行優化。 Microsoft強烈建議新程式代碼盡可能在媒體 基礎中使用 MediaPlayer、IMFMediaEngine 和 音訊/視訊擷取,而不是 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。 (請參閱 篩選類別。篩選資訊會封裝成二進位格式。 IFilterMapper2 介面在搜尋登錄以尋找篩選時,解除封裝此數據。
所有篩選類別 GUID 都會列在登錄的下列機碼底下:
HKEY_CLASSES_ROOT\CLSID\{DA4E3DA0-D07D-11d0-BD50-00A0C911CE86}\Instance