刷新一个或多个流。
Syntax
HRESULT Flush(
[in] DWORD dwStreamIndex
);
参数
[in] dwStreamIndex
要刷新的流。 该值可以是以下任一值。
| 价值 | Meaning |
|---|---|
|
流的从零开始的索引。 |
|
第一个视频流。 |
|
第一个音频流。 |
|
所有流。 |
返回值
如果此方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。
注解
Flush 方法会丢弃所有排队的样本,并取消所有挂起的示例请求。
此方法可以同步或异步完成。
如果在创建源读取器时提供回调指针,则该方法是异步的。 否则,该方法是同步的。 有关设置回调指针的详细信息,请参阅 MF_SOURCE_READER_ASYNC_CALLBACK。
在同步模式下,该方法会阻止作完成。
在异步模式下,刷新作完成时会调用应用程序的 IMFSourceReaderCallback::OnFlush 方法。 刷新作挂起时, IMFSourceReader::ReadSample 方法返回 MF_E_NOTACCEPTING。
注意 在 Windows 7 中,此方法的实现中有一个 bug,导致在刷新作完成之前调用 OnFlush 。 用于修复该 bug 的修补程序。
要求
| Requirement | 价值 |
|---|---|
| 最低支持的客户端 | 适用于 Windows Vista 的 Windows 7、Windows Vista 和平台更新补充 [桌面应用 |UWP 应用] |
| 支持的最低服务器 | Windows Server 2008 R2 [桌面应用 |UWP 应用] |
| 目标平台 | Windows操作系统 |
| Header | mfreadwrite.h |