Макет разделов реестра
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
Фильтры DirectShow регистрируются в двух местах:
- Библиотека DLL, содержащая фильтр, регистрируется в качестве COM-сервера фильтра. Когда приложение вызывает CoCreateInstance для создания фильтра, библиотека COM Microsoft Windows использует эту запись реестра для поиска библиотеки 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