次の方法で共有


IMFFinalizableMediaSink::BeginFinalize メソッド (mfidl.h)

タスクを完了するために必要なステップを非同期的に実行するようにメディア シンクに通知します。

構文

HRESULT BeginFinalize(
  [in] IMFAsyncCallback *pCallback,
  [in] IUnknown         *punkState
);

パラメーター

[in] pCallback

非同期オブジェクトの IMFAsyncCallback インターフェイスへのポインター。 呼び出し元は、このインターフェイスを実装する必要があります。

[in] punkState

呼び出し元によって定義された状態オブジェクトの IUnknown インターフェイスへのポインター。 このパラメーターは、NULL でもかまいません。 このオブジェクトを使用して、状態情報を保持できます。 コールバックが呼び出されると、オブジェクトが呼び出し元に返されます。

戻り値

このメソッドは HRESULT を返します。 有効な値を次の表に示しますが、これ以外にもあります。

リターン コード 説明
S_OK
メソッドが成功しました。

解説

多くのアーカイブ メディア シンクには、ヘッダーの更新 (一部の形式の場合) や保留中のすべての書き込みのディスクへのフラッシュなど、ファイル操作を完了するためにアーカイブの最後に実行する必要がある手順があります。 場合によっては、コンテンツのインデックス作成などのコストの高い操作が含まれる場合があります。 BeginFinalize は、最終的なタスクを開始する非同期の方法です。

ファイナライズ操作が完了すると、コールバック オブジェクトの IMFAsyncCallback::Invoke メソッドが呼び出されます。 その時点で、アプリケーションは IMFFinalizableMediaSink::EndFinalize を呼び出して非同期要求を完了する必要があります。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mfidl.h
Library Mfuuid.lib

関連項目

IMFFinalizableMediaSink