IDvdGraphBuilder::RenderDvdVideoVolume メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メソッドは RenderDvdVideoVolume 、DVD-Video ボリュームを再生するためのユーザー指定に従ってフィルター グラフの構築を完了します。

構文

HRESULT RenderDvdVideoVolume(
  [in]  LPCWSTR             lpcwszPathName,
  [in]  DWORD               dwFlags,
  [out] AM_DVD_RENDERSTATUS *pStatus
);

パラメーター

[in] lpcwszPathName

再生する DVD-Video ボリュームのパスへのポインター。 NULL を指定できます。

[in] dwFlags

DVD 再生グラフの作成方法 を指定AM_DVD_GRAPH_FLAGS 列挙からのフラグのビットごとの OR。

[out] pStatus

AM_DVD_RENDERSTATUS構造体へのポインター。 メソッドから制御が戻ると、 構造体はレンダリングエラーを示します。

戻り値

インターフェイスの実装に依存する HRESULT 値を返します。 DirectShow 実装の戻り値には、次のものが含まれます。

リターン コード 説明
E_INVALIDARG
dwFlags パラメーターは、競合するオプションを指定します。
S_FALSE
メソッドが部分的に成功しました。 発生したエラーを確認するには、 pStatus パラメーターを調べます。
S_OK
メソッドが成功し、すべてのストリームがレンダリングされました。
VFW_E_DVD_DECNOTENOUGH
1 つ以上のストリームをレンダリングできませんでした。

dwFlags パラメーターで AM_DVD_HWDEC_ONLY または AM_DVD_SWDEC_ONLY フラグを指定した場合は、AM_DVD_HWDEC_PREFER または AM_DVD_SWDEC_PREFER フラグを指定してメソッドをもう一度呼び出してみてください。

VFW_E_DVD_NON_EVR_RENDERER_IN_FILTER_GRAPH
フィルター グラフには、ビデオ レンダラーが既に含まれています。 dwFlags パラメーターに AM_DVD_EVR_ONLY フラグを指定したが、グラフに拡張ビデオ レンダラー (VMR) フィルター以外のビデオ レンダラーが既に含まれている場合、このメソッドは、このエラー コードを返します。
VFW_E_DVD_RENDERFAIL
グラフの作成中にエラーが発生しました。 たとえば、DVD Graph Builder で必要なフィルターを作成できなかったか、ストリームをレンダリングできませんでした。
VFW_E_DVD_TOO_MANY_RENDERERS_IN_FILTER_GRAPH
フィルター グラフには、複数のビデオ レンダラーが含まれています。

注釈

AM_DVD_RENDERSTATUS構造体には、このメソッドのエラー コードが反映されます。 このメソッドがS_FALSE返される理由は次のとおりです。

  • グラフは完全に構築されていますが、次のいずれかが当てはまります。
    • オーバーレイの混在は機能しません。アプリケーションでAM_DVD_NOVPE フラグが設定されておらず、ビデオ ストリームをオーバーレイ ミキサー経由で配置できませんでした。 この場合、ビデオがソフトウェアでデコードされた場合、アプリケーションはビデオが表示できないことをユーザーに知らせるのに十分な情報を持っています。 ハードウェアデコードされたビデオは、ハードウェア ビデオ デコーダーの NTSC 出力ポートに接続されているテレビにのみ表示されます。
    • ビデオ デコーダーは、21 行目のデータを生成しません。 デコーダーが原因でクローズド キャプションを使用できないという警告または有益なメッセージをアプリケーションで表示できます。
    • ボリューム パスが指定されておらず、DVD ナビゲーターで再生する DVD-Video ボリュームが見つかりませんでした。 再生の開始時にドライブに空きがない場合、アプリケーションは DVD-Video ディスクを挿入するようにユーザーに求めることができます。
  • 一部のストリームはレンダリングされませんでした。 アプリケーションは、一部のストリームを再生できないことをユーザーに示すことができます。
このメソッドは、再生する DVD-Video ファイルまたはボリュームに関する知識がなくてもグラフを構築します。 DVD-Video グラフ ビルダーは、 lpcwszPathNameNULL の場合や、DVD ナビゲーター フィルターで再生する既定の DVD-Video ボリュームが見つからない場合でも、グラフをビルドします。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

こちらもご覧ください

DVD アプリケーション

エラーコードと成功コード

IDvdGraphBuilder インターフェイス