IMFFinalizableMediaSink::BeginFinalize method

Notifies the media sink to asynchronously take any steps it needs to finish its tasks.


HRESULT BeginFinalize(
  IMFAsyncCallback *pCallback,
  IUnknown         *punkState



Pointer to the IMFAsyncCallback interface of an asynchronous object. The caller must implement this interface.


Pointer to the IUnknown interface of a state object, defined by the caller. This parameter can be NULL. You can use this object to hold state information. The object is returned to the caller when the callback is invoked.

Return Value

The method returns an HRESULT. Possible values include, but are not limited to, those in the following table.

Return code Description
The method succeeded.


Many archive media sinks have steps they need to do at the end of archiving to complete their file operations, such as updating the header (for some formats) or flushing all pending writes to disk. In some cases, this may include expensive operations such as indexing the content. BeginFinalize is an asynchronous way to initiate final tasks.

When the finalize operation is complete, the callback object's IMFAsyncCallback::Invoke method is called. At that point, the application should call IMFFinalizableMediaSink::EndFinalize to complete the asynchronous request.


Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header mfidl.h
Library Mfuuid.lib

See Also