ICaptureGraphBuilder::ControlStream 方法 (strmif.h)

[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayerIMFMediaEngineMedia Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayerIMFMediaEngine音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]

注意ICaptureGraphBuilder 接口已弃用。 请改用 ICaptureGraphBuilder2
 
将流控制消息发送到图形中一个或多个捕获筛选器上的指定类别的固定。

语法

HRESULT ControlStream(
  [in] const GUID     *pCategory,
  [in] IBaseFilter    *pFilter,
  [in] REFERENCE_TIME *pstart,
  [in] REFERENCE_TIME *pstop,
  [in] WORD           wStartCookie,
  [in] WORD           wStopCookie
);

参数

[in] pCategory

指向指定输出引脚类别的 GUID 的指针。 有关所有固定类别的列表,请参阅 固定属性集 。 此值不能为 NULL

[in] pFilter

指向要控制的筛选器上的 IBaseFilter 接口的指针。 指定 NULL 可控制图形中的所有捕获筛选器。 每个捕获筛选器都会收到一条通知。

[in] pstart

指向捕获的开始时间的指针。 NULL 表示立即启动。 MAX_TIME 表示取消上一个请求,如果没有上一个请求,则不执行任何操作。

[in] pstop

指向捕获的停止时间的指针。 NULL 表示立即停止。 MAX_TIME 表示取消上一个请求,如果没有上一个请求,则不执行任何操作。

[in] wStartCookie

指定要在启动时发送的特定值。

[in] wStopCookie

指定要在停止时发送的特定值。

返回值

如果在呈现捕获筛选器发送的最后一个示例之前发送停止通知,则返回S_FALSE,否则返回S_OK。

如果此方法返回S_FALSE,则应用程序可能需要等待,然后再停止筛选图,以允许所有样本通过图形并呈现。 否则,样本可能会丢失。

如果没有与所提供的说明匹配的引脚,或者如果所有指示的引脚都不支持流控制,则此函数将返回失败代码。

备注

使用此方法进行帧精确捕获,或单独控制捕获和预览。 例如,如果只想预览捕获的图像,则可以关闭将捕获的映像写入磁盘。

此方法在引脚上使用 IAMStreamControl 接口。

此方法为找到的每个筛选器发送一个通知,其中包含指定类别的引脚。

要求

   
目标平台 Windows
标头 strmif.h (包括 Dshow.h)

另请参阅

错误和成功代码

ICaptureGraphBuilder 接口