IMFSinkWriter::Finalize 方法 (mfreadwrite.h)

完成接收寫入器上的所有寫入作業。

Syntax

HRESULT Finalize();

傳回值

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

將所有輸入範例傳送至接收寫入器之後,呼叫此方法。 方法會執行從媒體接收建立最終輸出所需的任何作業。

如果您在建立接收寫入器時提供回呼介面,這個方法會以異步方式完成。 當作業完成時,會呼叫回呼的 IMFSinkWriterCallback::OnFinalize 方法。 如需詳細資訊,請參閱 MF_SINK_WRITER_ASYNC_CALLBACK。 否則,如果您未提供回呼, 則 Finalize 方法會封鎖直到作業完成為止。

在內部,此方法會呼叫 IMFStreamSink::P laceMarker ,在媒體接收上放置每個數據流的區段結尾標記。 如果媒體接收支援IMFFinalizableMediaSink介面,它也會呼叫IMFFinalizableMediaSink::BeginFinalizeEndFinalize

呼叫此方法之後,下列方法將會失敗:

如果您未呼叫 Finalize,來自媒體接收的輸出可能不完整或無效。 例如,輸出檔案中可能遺漏必要的檔案標頭。

如果已安裝適用於 Windows Vista 的平臺更新補充,此介面可在 Windows Vista 上使用。

規格需求

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

另請參閱

IMFSinkWriter

接收寫入器