IMFSourceReader::Flush 方法(mfreadwrite.h)

刷新一个或多个流。

Syntax

HRESULT Flush(
  [in] DWORD dwStreamIndex
);

参数

[in] dwStreamIndex

要刷新的流。 该值可以是以下任一值。

价值 Meaning
0–0xFFFFFFFB
流的从零开始的索引。
MF_SOURCE_READER_FIRST_VIDEO_STREAM
0xFFFFFFFC
第一个视频流。
MF_SOURCE_READER_FIRST_AUDIO_STREAM
0xFFFFFFFD
第一个音频流。
MF_SOURCE_READER_ALL_STREAMS
0xFFFFFFFE
所有流。

返回值

如果此方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。

注解

Flush 方法会丢弃所有排队的样本,并取消所有挂起的示例请求。

此方法可以同步或异步完成。

如果在创建源读取器时提供回调指针,则该方法是异步的。 否则,该方法是同步的。 有关设置回调指针的详细信息,请参阅 MF_SOURCE_READER_ASYNC_CALLBACK

在同步模式下,该方法会阻止作完成。

在异步模式下,刷新作完成时会调用应用程序的 IMFSourceReaderCallback::OnFlush 方法。 刷新作挂起时, IMFSourceReader::ReadSample 方法返回 MF_E_NOTACCEPTING

注意 在 Windows 7 中,此方法的实现中有一个 bug,导致在刷新作完成之前调用 OnFlush 。 用于修复该 bug 的修补程序。
 
如果安装了 Windows Vista 平台更新补充,则 Windows Vista 上提供了此接口。

要求

Requirement 价值
最低支持的客户端 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用]
支持的最低服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows操作系统
Header mfreadwrite.h

另请参阅

IMFSourceReader

源读取器