IRenderEngine::ConnectFrontEnd
ConnectFrontEnd メソッドは、現在のタイムラインからフィルタ グラフのフロント エンドを作成する。
構文
HRESULT ConnectFrontEnd( void );
戻り値
HRESULT 値を返す。次のいずれかの値を返す。
値 | 説明 |
S_OK | 成功。 |
S_WARN_OUTPUTRESET | グラフのレンダリング部分は削除された。 |
E_INVALIDARG | このレンダリング エンジンにはタイムラインは設定されていない。 |
E_MUST_INIT_RENDERER | レンダリング エンジンが初期化に失敗した。 |
E_RENDER_ENGINE_IS_BROKEN | プロジェクトが正しくレンダリングされなかったため、処理が失敗した。 |
E_UNEXPECTED | 予期せぬエラー。 |
VFW_E_INVALIDMEDIATYPE | 無効なメディア タイプ。 |
注意
このメソッドは、フィルタ グラフのレンダリング部分を作成しない。アプリケーションでは、フロント エンドの出力ピンを目的のレンダリング フィルタに接続しなければならない。
- プレビューを行うには、IRenderEngine::RenderOutputPins メソッドを呼び出す。
- ファイルに出力するには、IRenderEngine::GetGroupOutputPin を呼び出してグループごとの出力ピンを取得してから、そのピンをマルチプレクサ フィルタに接続する。
基本レンダリング エンジンを使っている場合、フロント エンド上の出力ピンは非圧縮データを生成する。スマート レンダリング エンジンを使っている場合、出力ピンは圧縮データを出力する。
フィルタ グラフを作成した後でタイムラインを変更した場合は、ConnectFrontEnd をもう一度呼び出してフロント エンドを再作成しなければならない。このメソッドは、可能であればグラフのレンダリング部分を維持する。ただし、グループを追加または削除した場合、またはグループの順序を変更した場合は、ConnectFrontEnd はレンダリング部分を削除するため、アプリケーションでレンダリング部分を再作成しなければならない。レンダリング部分を削除した場合、このメソッドは S_WARN_OUTPUTRESET を返す。
要件
ヘッダー : Qedit.h をインクルードする。このヘッダー ファイルは、バージョン 7 以降の Microsoft® Direct3D® のヘッダーとは互換性がない。
ライブラリ : strmiids.lib を使用。
参照