IMFSinkWriter::Finalize 方法 (mfreadwrite.h)
完成接收寫入器上的所有寫入作業。
Syntax
HRESULT Finalize();
傳回值
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
將所有輸入範例傳送至接收寫入器之後,呼叫此方法。 方法會執行從媒體接收建立最終輸出所需的任何作業。
如果您在建立接收寫入器時提供回呼介面,這個方法會以異步方式完成。 當作業完成時,會呼叫回呼的 IMFSinkWriterCallback::OnFinalize 方法。 如需詳細資訊,請參閱 MF_SINK_WRITER_ASYNC_CALLBACK。 否則,如果您未提供回呼, 則 Finalize 方法會封鎖直到作業完成為止。
在內部,此方法會呼叫 IMFStreamSink::P laceMarker ,在媒體接收上放置每個數據流的區段結尾標記。 如果媒體接收支援IMFFinalizableMediaSink介面,它也會呼叫IMFFinalizableMediaSink::BeginFinalize和 EndFinalize。
呼叫此方法之後,下列方法將會失敗:
如果您未呼叫 Finalize,來自媒體接收的輸出可能不完整或無效。 例如,輸出檔案中可能遺漏必要的檔案標頭。如果已安裝適用於 Windows Vista 的平臺更新補充,此介面可在 Windows Vista 上使用。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 適用於 Windows Vista 的 Windows 7、Windows Vista 和平臺更新補充 [傳統型應用程式 |UWP 應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [傳統型應用程式 |UWP 應用程式] |
目標平台 | Windows |
標頭 | mfreadwrite.h |