IMFSourceReader::Flush 方法 (mfreadwrite.h)

刷新一个或多个流。

语法

HRESULT Flush(
  [in] DWORD dwStreamIndex
);

参数

[in] dwStreamIndex

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

含义
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 上可用。

要求

要求
最低受支持的客户端 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows Server 2008 R2 [桌面应用 |UWP 应用]
目标平台 Windows
标头 mfreadwrite.h

另请参阅

IMFSourceReader

源读取者