如何实现源过滤器属性页?

how to implement source filter property page?

我已按照 http://msdn.microsoft.com/en-us/library/windows/desktop/dd375010%28v=vs.85%29.aspx 中的说明为基于 CSourceStream 的流创建属性页。

使用 amcap 进行测试时,我可以看到 amcap 现在显示菜单项以显示捕获引脚属性(查询 ISpecifyPropertyPages::GetPages)。问题是,当 amcap 调用 OleCreatePropertyFrame 时 returns 和 E_FAIL 并且我不确定为什么,它似乎甚至没有进入查询我的 dll 以获取工厂方法以实例化基于 CBasePropertyPage 的阶段属性 class.

问题是我的 DllRegisterServer 只注册了我的过滤器。

我可以使用 AMovieDllRegisterServer2 来注册 g_Templates 中的所有组件,但该函数无法正确注册源过滤器,所以目前我只是调用 AMovieDllRegisterServer2,然后使用源过滤器特定代码重新注册我的过滤器。