Поделиться через


Метод IMFSinkWriter::Finalize (mfreadwrite.h)

Завершает все операции записи в модитере приемника.

Синтаксис

HRESULT Finalize();

Возвращаемое значение

Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .

Комментарии

Вызовите этот метод после отправки всех входных примеров в модуль записи приемника. Метод выполняет все операции, необходимые для создания окончательных выходных данных из приемника мультимедиа.

Если при создании модуля записи приемника указать интерфейс обратного вызова, этот метод выполняется асинхронно. После завершения операции вызывается метод IMFSinkWriterCallback::OnFinalize обратного вызова. Дополнительные сведения см. в разделе MF_SINK_WRITER_ASYNC_CALLBACK. В противном случае, если вы не предоставите обратный вызов, метод Finalize блокируется до завершения операции.

Для внутреннего использования этот метод вызывает IMFStreamSink::P laceMarker для размещения маркеров конца сегмента для каждого потока в приемнике мультимедиа. Он также вызывает IMFFinalizableMediaSink::BeginFinalize и EndFinalize , если приемник мультимедиа поддерживает интерфейс IMFFinalizableMediaSink .

После вызова этого метода следующие методы завершатся ошибкой:

Если метод Finalize не вызывается, выходные данные приемника мультимедиа могут быть неполными или недопустимыми. Например, в выходном файле могут отсутствовать обязательные заголовки файлов.

Этот интерфейс доступен в Windows Vista, если установлено дополнение к обновлению платформы для Windows Vista.

Требования

Требование Значение
Минимальная версия клиента Windows 7, Windows Vista и дополнение к обновлению платформы для Windows Vista [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header mfreadwrite.h

См. также раздел

IMFSinkWriter

Модуль записи приемника