IGaptureGraphBuilder2接口

IGaptureGraphBuilder2 interface

 The ICaptureGraphBuilder2 接口使你建立的捕获图表有效,

 预览图表,文件压缩图表,或者其他客户图表

AllocCapFile 预先分配捕获文件的大小,该大小是指定的,

最好的结果,总是捕获到一个碎片,因此捕获文件的大小应该比要捕获的数据大小要大

HRESULT AllocCapFile(

[in] LPCOLESTR lpwstr, 一个你要创建的文件名称

[in] DWORDLONG dwlSize // 要被分配的文件大小,单位为字节

);

ControlStream 为一个或多个流(被捕获的数据)设置开始和结束的次数

HRESULT ControlStream(

[in] const GUID *pCategory, // 一个指向GUID的指针,这个指针指定插脚目录清单中

[in] const GUID *pType,  // 指定媒体类型,如果该参数是NULL,那么pFilter也是NULL

[in] IBaseFilter *pFilter, // 指定那个过滤器被控制,如果要控制全部图表中的过滤器,那么就将该参数设置为NULL

[in] REFERENCE_TIME *pstart,  开始时间,如果是 MAXLONGLONG 将会取消前一个开始的请求,如果是NULL,那么当这个图表运行的时候,这个插脚就会立即开始

[in]REFERENCE_TIME* pstop,  // 结束时间,如果是MAXLONGLONG, 将会取消前面任何一个停止请求,如果是NULL,the插脚立即停止

[in] WORD  wStartCookie,

//

[in]WORD  wStopCookie,

)

CopyCaptureFile 从一个被捕获的文件拷贝有效的媒体数据

HRESULT CopyCapyureFile(

 [in] LPOLESTR   lpwstrOld, 源文件名称

 [in] LPOLESTR   lpwstrNew, 目的文件名称

 [in] int           fAllowEscAbort, 如果是TRUE ,那按下ESC键将会致使文件的拷贝取消,如果是FALSE 将不会对ESC键做出反应

 [in] IAMCopyCaptureFileProgress* pCallback // 显示拷贝捕获文件的信息

);

FindInterface 在图表中搜索指定的接口,从一个指定的接口开始,你可以限制只搜索图表中的上游或者下游中的一部分过滤器,或者限制独有的插脚,或者是媒体类型

HRESULT FindInterface

(

  [in] const GUID *pCategory, // 一个指针指向具有搜索条件的GUID

  [in] const GUID*pType,// 一个指针指向这个主要媒体类型的输出插脚

  [in] IBaseFilter* pf,IBaseFilter接口类过滤器指针,从过滤器开始的地方搜索

  [in] REFIID riid, // 本地接口ID

  [out] void **ppint   //  一个接口指针的地址,在使用完成后记得释放

)  

FindPin 在一个过滤器上检索指定的插脚,或者决定是否得到一个与指定条件相匹配的插脚

HRESULT FindPin

(

  [in] IUknown *pSource, // 一个接口的指针,或者被认为指向有一个插脚的接口

  [in] PIN_DIRECTION pindir, // PIN_DIRECTION 的成员枚举指定的插脚方向

  [in] const GUID *pCategory, // 插脚目录列表中的一个成员,若要去与任何插脚相匹配,设置该参数为NULL,

  [in] const GUID* pType, // 设定指定的媒体类型,若是NULL则与任何媒体类型相匹配

  [in] BOOL fUnconnected, // TRUR ,插脚必须没有连接,若是FALSE,这个插脚可以连接或者不连接

  [in] int num,去检索以0为基础的索引,if pSource 是一个指针对于一个过滤器,而这个过滤器不止一个插脚与搜索条件相匹配,这个参数可以指定特定的插脚被返回,如果psource 指向的是一个插脚而不是过滤器接口,是不会管这个参数的含义的

  [out] IPin **ppPin //指向一个接受与指定条件相匹配的插脚

);

 GetFiltergraph 重新得到正在被捕获图表建立者使用的过滤器图表

HRESULT GetFiltergraph(

[out] IGraphBuilder** ppfg //  IGraphBuilder 接口指针

);

RenderStream 在一个源过滤器上去连接输出插脚到一个渗透迭代器,可选择通过中间过滤器

HRESULT RenderStream

(

  [in] const GUID *pCategory, // 指向一个插脚目录列表中的GUID

  [in] const GUID*pType,  //指定输出插脚上的媒体类型,若是NULL则使用任何插脚,不限制类体类型。

  [in] IUnknow *pSource,指定一个开始过滤的过滤器或者是一个输出插脚

  [in]IBaseFilter *pIntermediate, 指定一个IBaseFilter的中间过滤器,比如说压缩啊

  [in] IBaseFilter* pSink 指向一个渗透过滤器 ,例如渲染器,多路复用渲染器,如果这个值是空的,将会使用默认的渲染器

);

SetFiltergraph 设置一个图表过滤器供捕获图表建造者使用

HRESULT SetFiltergraph(

[in] IGraphBuilder* pfg 过滤器图表建立者指针

);

SetOutputFileName 为图表过滤器建立写文件

HRESULT SetOutputFileName(

[in] const GUID *pType,  // 指定文件类型

[in] LPCOLESTR  lpwstrFile, // 文件名

[out] IBaseFilter **ppf,多路复用的IBaseFilter 接口

[out] IFileSinkFilter **pSink, 渗透过滤器

);

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值