如何使用/安装自定义Directshow过滤器

时间:2010-08-24 20:42:23

标签: c++ filter directshow

我有自定义编译的directshow过滤器 - filter.DLL - 但如何在系统中使用或安装此过滤器?

3 个答案:

答案 0 :(得分:6)

通常你通过调用(从windows vista / 7上的提升命令提示符窗口)regsvr32 filter.dll来注册directshow过滤器到系统中。

在注册过程之后,您可以使用带有directshow图表查看应用程序的过滤器:

  • GraphEdit(graphedt.exe),由Windows SDK安装(例如“c:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ bin \ graphedt.exe”)
  • GraphStudio

使用上述程序测试过滤器后,您可以在C ++ / C#客户端应用程序中使用它。

答案 1 :(得分:2)

主要方法是使用regsvr32 filter.dll注册过滤器文件,然后在应用程序中使用它的CLSID创建过滤器。

如果过滤器与应用程序位于相同的代码库中,您只需使用new创建过滤器并使用它。

我更喜欢使用CoLoadLibrary加载filter.dll以获取过滤器的IClassFactory并创建过滤器。您可以使用GraphStudioNext对此进行测试。您可以通过这种方式找到加载过滤器的示例源代码here

答案 2 :(得分:1)

像Cristian所说,人们通常在系统上注册过滤器。但我不想为a few reasons这样做。特别是,请参阅“使用操作系统注册过滤器”一节。

我认为十分之九,你最好用新的实例化。有关示例,请参阅AppFilter on Geraint Davis' page