ICaptureGraphBuilder::ControlStream 方法 (strmif.h)
[与此页面关联的功能 DirectShow 是旧版功能。 它已被 MediaPlayer、 IMFMediaEngine 和 Media Foundation 中的音频/视频捕获所取代。 这些功能已针对Windows 10和Windows 11进行了优化。 Microsoft 强烈建议新代码尽可能在 Media Foundation 中使用 MediaPlayer、 IMFMediaEngine 和 音频/视频捕获 ,而不是 DirectShow。 如果可能,Microsoft 建议重写使用旧 API 的现有代码以使用新 API。]
语法
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) |