グラフ ビルダ (IGraphBuilder)

IGraphBuilderはIFilterGraphを継承し、フィルタの追加や削除以外にもフィルタ グラフを自動生成するメソッドなども備えます。

IGraphBuilderに追加されるメソッド
メソッド 説明
Connect 2つのピンを接続する。直接接続できない場合は、変換フィルタを介して接続する。
Render 指定の出力ピンからのデータをレンダリングする、フィルタ グラフを作成する。
RenderFile 指定のファイルをレンダリングする、フィルタ グラフを作成する。
AddSourceFilter 特定のファイルのソース フィルタを、フィルタ グラフに追加する。
SetLogFile ログ ファイルを設定する。このファイルには、操作を実行しようとしたときに行われた各アクションが出力される。
Abort 現在のタスクの停止を要求する。
ShouldOperationContinue 現在の操作を継続すべきかどうかを照会する。

IGraphBuilderインターフェイスの作成

FilterGraphのインスタンスを作成し、それをIGraphBuilderにキャストします。

IGraphBuilder graphBuilder = null;

graphBuilder = ( IGraphBuilder )new FilterGraph();

ピンの接続 (Connect)

int Connect(
    IPin ppinOut,   // 出力ピン
    IPin ppinIn     // 入力ピン
    );

2つのピンを接続します。フィルタを接続するためにピンが必要ならば、DsFindPinで取得できます。

フィルタ グラフの自動生成 (RenderFile)

int RenderFile(
    string lpcwstrFile,     // ファイルの名前
    string lpcwstrPlayList  // 予約済み (常にnull)
    );
IGraphBuilder::RenderFile | MSDN

生成されたフィルタ グラフをカスタマイズするには、IFilterGraphから継承されたメソッドを使用します。