IGraphBuilder::RenderFile

RenderFile メソッドは、指定されたファイルをレンダリングするフィルタ グラフを作成する。

構文

  HRESULT RenderFile(
  LPCWSTR lpwstrFile,
  LPCWSTR lpwstrPlayList
);

パラメータ

lpwstrFile

[in] メディア ファイルの名前を含むワイド文字列を指定する。

lpwstrPlayList

[in] 予約済み。NULL でなければならない。

戻り値

HRESULT を返す。可能な値は次のとおりである。

説明
S_OK 成功。
VFW_S_AUDIO_NOT_RENDERED 不完全な成功。オーディオがレンダリングされなかった。
VFW_S_DUPLICATE_NAME 成功。フィルタ グラフ マネージャがフィルタ名が重複しないようにフィルタ名を変更した。
VFW_S_PARTIAL_RENDER このムービーにサポートされないフォーマットのストリームが含まれている。
VFW_S_VIDEO_NOT_RENDERED 不完全な成功。このムービーにサポートされないフォーマットのストリームが含まれている。
E_ABORT 操作が中止された。
E_FAIL 失敗。
E_INVALIDARG 引数が無効。
E_OUTOFMEMORY メモリ不足。
E_POINTER NULL ポインタ引数。
VFW_E_CANNOT_CONNECT 接続を確立する中間フィルタの組み合わせが見つからなかった。
VFW_E_CANNOT_LOAD_SOURCE_FILTER このファイルのソース フィルタをロードできなかった。
VFW_E_CANNOT_RENDER ストリームをレンダリングするフィルタの組み合わせが見つからなかった。
VFW_E_INVALID_FILE_FORMAT ファイル フォーマットが無効である。
VFW_E_NOT_FOUND オブジェクトまたは名前が見つからなかった。
VFW_E_UNKNOWN_FILE_TYPE このファイルのメディア タイプが認識されない。
VFW_E_UNSUPPORTED_STREAM ファイルを再生できない。フォーマットがサポートされていない。

注意

lpwstrFile 引数がメディア ファイルを指定した場合、このメソッドはデフォルトの再生用のフィルタ グラフを作成する。最初に、IGraphBuilder::AddSourceFilter メソッドと同じ処理を使って、ファイルを読み取ることができるソース フィルタを追加する。次に、必要に応じて中間フィルタを追加して、そのソース フィルタの出力ピンをレンダリングする。フィルタは IGraphBuilder::Connect メソッドの場合と同じ順序で試される。

接続処理では、中間フィルタのピン名が ~ (チルダ) で始まる場合、フィルタ グラフ マネージャはそのフィルタのピンを無視する。詳細については、「PIN_INFO」を参照すること。

RenderFile メソッドは、グラフからフィルタを削除しない点に注意すること。RenderFile を 2 回呼び出すと、2 回目の呼び出しでは単純に追加のフィルタがグラフに追加される。グラフを実行すると、両方のソースが同時に再生される。

サンプル コード

以下の例では、デフォルト再生用の AVI ファイルをレンダリングする。

hr = pGraph->RenderFile(L"C:\\Media\\Example.avi", 0);

以下の例では、ファイル ソース (URL) フィルタを使って、HTTP を経由して AVI をダウンロードする。

hr = pGraph->RenderFile(L"http://example.microsoft.com/Example.avi", 0);

参照