Как использовать / установить пользовательский фильтр Directshow
У меня есть пользовательский скомпилированный фильтр DirectShow - filter.DLL - но как использовать или установить этот фильтр в системе?
3 ответа
Обычно вы регистрируете фильтр DirectShow в системе, вызывая (из окна командной строки с повышенными правами в Windows Vista/7) regsvr32 filter.dll
,
После регистрации вы можете использовать свой фильтр с приложением для просмотра графиков DirectShow:
- GraphEdit (graphedt.exe), установленный Windows SDK (например, "c: \ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin \ graphedt.exe")
- GraphStudio
После тестирования вашего фильтра с вышеуказанными программами вы можете использовать его в клиентском приложении C++/C#.
Основным способом было бы зарегистрировать файл фильтра с regsvr32 filter.dll
а затем создать фильтр с его CLSID в вашем приложении.
Если фильтр находится в той же кодовой базе, что и приложение, вы можете просто создать фильтр с помощью new
и использовать это.
Я предпочитаю загружать filter.dll CoLoadLibrary
чтобы получить IClassFactory фильтра и создать фильтр. Вы можете проверить это с помощью GraphStudioNext. Вы можете найти образец исходного кода для загрузки фильтра здесь.
Как сказал Кристиан, люди обычно регистрируют фильтр в системе. Но я предпочитаю не делать этого по нескольким причинам. В частности, см. Раздел "Регистрация фильтров в операционной системе".
Я думаю, что в девяти случаях из десяти вам лучше создавать новые. См. Пример AppFilter на странице Джераинта Дэвиса.