2010-08-24 5 views

ответ

6

Обычно вы регистрируете фильтр 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.

1

Как сказал Кристиан, люди обычно регистрируют фильтр в системе. Но я предпочитаю не делать этого для a few reasons. В частности, см. Раздел «Регистрация фильтров с операционной системой».

Я думаю, что девять раз из десяти, вам лучше создавать новые. См. Пример AppFilter on Geraint Davis' page.

1

Главным способом было бы зарегистрировать файл фильтра с regsvr32 filter.dll и создать фильтр с его CLSID в вашем приложении.

Если фильтр находится в той же кодовой базе, что и приложение, вы можете просто создать фильтр с помощью new и использовать его.

Я предпочитаю загружать filter.dll с помощью CoLoadLibrary, чтобы получить фильтр IClassFactory и создать фильтр. Вы можете проверить это с помощью GraphStudioNext. Вы можете найти исходный код примера для загрузки фильтра таким образом here.

Смежные вопросы