Share via


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 中,此方法的實作發生錯誤,這會導致在排清作業完成之前呼叫 OnFlush 。 用來修正該 Bug 的 Hotfix。
 
如果已安裝適用於 Windows Vista 的平臺更新補充,此介面可在 Windows Vista 上使用。

規格需求

需求
最低支援的用戶端 適用於 Windows Vista 的 Windows 7、Windows Vista 和平臺更新補充 [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 mfreadwrite.h

另請參閱

IMFSourceReader

來源讀取器