Layout der Registrierungsschlüssel
DirectShow-Filter werden an zwei Stellen registriert:
- Die DLL, die den Filter enthält, wird als COM-Server des Filters registriert. Wenn eine Anwendung CoCreateInstance aufruft, um den Filter zu erstellen, verwendet die Microsoft Windows COM-Bibliothek diesen Registrierungseintrag, um die DLL zu suchen.
- Zusätzliche Informationen zum Filter können innerhalb einer Filterkategorie registriert werden. Diese Informationen ermöglichen es dem Systemgeräte-Enumerator und der Filterzuordnung, den Filter zu suchen.
Filter sind nicht erforderlich, um die zusätzlichen Filterinformationen zu registrieren. Solange die DLL als COM-Server registriert ist, kann eine Anwendung den Filter erstellen und einem Filterdiagramm hinzufügen. Wenn Der Filter jedoch vom Systemgeräte-Enumerator oder filter mapper ermittelt werden kann, müssen Sie die zusätzlichen Informationen registrieren.
Der Registrierungseintrag für die DLL verfügt über die folgenden Schlüssel:
HKEY_CLASSES_ROOT
CLSID
Filter CLSID
REG_SZ: (Default) = Friendly name
InprocServer32
REG_SZ: (Default) = File name of the DLL
REG_SZ: ThreadingModel = Both
Der Registrierungseintrag für die Filterinformationen verfügt über die folgenden Schlüssel:
HKEY_CLASSES_ROOT
CLSID
Category
Instance
Filter CLSID
REG_SZ: CLSID = Filter CLSID
REG_BINARY: FilterData = Filter information
REG_SZ: FriendlyName = Friendly name
Category
ist die GUID einer Filterkategorie. (Siehe Filterkategorien.) Die Filterinformationen werden in ein Binärformat gepackt. Die IFilterMapper2-Schnittstelle entpackt diese Daten, wenn sie die Registrierung nach einem Filter durchsucht.
Alle GUIDs der Filterkategorie werden in der Registrierung unter dem folgenden Schlüssel aufgeführt:
HKEY_CLASSES_ROOT\CLSID\{DA4E3DA0-D07D-11d0-BD50-00A0C911CE86}\Instance