IFilterGraph接口

IFilterGraph interface

   

   这个 IFilterGraph 接口为建立一个过滤器图表提供了方法,一个应用程序可以通过它增加一个过滤器到图表,连接或者不连接,删除过滤器,执行一些其他基本操作,无论怎么样,我们都应该使用IGraphBuilder 这个类,因为IGraphBuilder是从IFilterGraph这个类继承过来的,拥有IFilterGraph提供的所有方法,并且增加了更加细致的操作。

   IFilterGraph 接口从IUnknown 这个接口继承

   

   HRESULT AddFilter      增加一个过滤器到图表

(

   [in] IBaseFilter* pFilter,   // 一个基础的过滤器指针

   [in]LPCWSTR pName    // 一个宽字节的字符串,这个字符串包含的是该过滤器的名字

)

   HRESULT ConnectDirect  立刻连接两个插脚,如果没有将会对过滤器进行干扰

   (

      [in] IPin *ppinOut,   // 一个输出插脚指针

      [in] IPin* ppinIn,    // 一个输入插脚指针

      [in] const AM_MEDIA_TYPE* pmt //  一个媒体类型指针,可以是NULL

   )

   HRESULT  Disconnect     从一个指定的插脚断开链接

  (

     [in] IPin* ppin // 一个要断开连接的插脚   

  )

 

   HRESULT EnumFilters    为整个在图表中的过滤器提供一个枚举图表过滤器的一种方法

 (

[OUT] IEnumFilters ** ppEnum; // 接受一个指向枚举器的接口的指针,

                            // 使用这个接口去枚举过滤器,这个调用者必须去释放这个接口

 )

   HRESULT FindFilterByName  根据指定的名称去查找一个已经存在的过滤器

(

   [in] LPCWSTR pName ,   // 指向一个字符串,该字符串包含着要从IBaseFilter里搜索的过滤器名称

   [out] IBaseFilter **ppFilter  // 收到一个指向IBaseFilter的指针,使用完后,必须释放

)

   HRESULT Reconnect      断开已经链接了的插脚并重新再次连接该插脚

   (

    [in] IPin *ppin   指向一个插脚的指针

   )

   HRESULT RemoveFilter   从一个图表中移除过滤器

  (

    [in] IBaseFilter* pFilter   指向一个要删除的过滤器

)

  HRESULT SetDefaultSyncSource()  设置这个用到的记录到默认的记录

   

  

  

有些微不足道的小人物,突然的某一天,或许会以令你惊艳的姿态出现。每个人都有优势,在某方面输给你,不等于在每方面都输给你。别瞧不起任何人,他们只是在以你不了解的方式存在着。—— 苏芩

   

    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值