IMFSourceReader::Flush 方法 (mfreadwrite.h)
排清一或多個數據流。
語法
HRESULT Flush(
[in] DWORD dwStreamIndex
);
參數
[in] dwStreamIndex
要排清的數據流。 此值可以是下列任一項。
值 | 意義 |
---|---|
|
數據流以零起始的索引。 |
|
第一個視訊串流。 |
|
第一個音訊數據流。 |
|
所有數據流。 |
傳回值
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
Flush 方法會捨棄所有已排入佇列的樣本,並取消所有擱置的範例要求。
這個方法可以同步或異步完成。
如果您在建立來源讀取器時提供回呼指標,則方法為異步。 否則,此方法是同步的。 如需設定回呼指標的詳細資訊,請參閱 MF_SOURCE_READER_ASYNC_CALLBACK。
在同步模式中,方法會封鎖直到作業完成為止。
在異步模式中,當排清作業完成時,會呼叫應用程式的 IMFSourceReaderCallback::OnFlush 方法。 排清作業擱置時, IMFSourceReader::ReadSample 方法會傳回 MF_E_NOTACCEPTING。
注意 在 Windows 7 中,此方法的實作發生錯誤,這會導致在排清作業完成之前呼叫 OnFlush 。 用來修正該 Bug 的 Hotfix。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista 和平臺更新補充 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | mfreadwrite.h |