Microsoft DirectX 8.0 |
このインターフェイスは、フィルタ グラフのフィルタ チェーンを開始、停止、または削除するメソッドを提供する。フィルタ グラフ マネージャがこのインターフェイスを公開する。
"フィルタ チェーン" は、一連のフォルタから成る 1 つの連続したフィルタである。個々のフィルタには 1 つまでの入力ピンと 1 つの出力ピンが接続される。フィルタ チェーンは、チェーン先頭フィルタとチェーン終端フィルタにより定義される (先頭フィルタと終端フィルタが同じ場合は、フィルタを 1 つだけ含むチェーンとなる)。定義によって、チェーンの先頭からダウンストリームへ終端まで続く単一のストリームができる。
このインターフェイスのメソッドは、ネットワーク経由で複数のストリームを受信するテレビ会議アプリケーションのように、データ ストリーム全体が現れたり消えたりする場合に利用する。詳細については、「動的グラフ作成」を参照すること。キャプチャ フィルタ上の個々のストリームを制御するには、このインターフェイスではなく、IAMStreamControl インターフェイスを使用する。
vtable 順のメソッド
IUnknown メソッド 説明 QueryInterface サポートされているインターフェイスへのポインタを取得する。 AddRef 参照カウントをインクリメントする。 Release 参照カウントをデクリメントする。 IFilterChain メソッド 説明 StartChain フィルタ チェーンのフィルタをすべて実行状態に切り替える。 StopChain フィルタ チェーンのフィルタをすべて停止状態に切り替える。 RemoveChain フィルタ チェーンのフィルタをすべてフィルタ グラフから削除する。 PauseChain フィルタ チェーンのフィルタをすべて一時ポーズ状態に切り替える。
フィルタ チェーンのフィルタをすべてポーズ状態に切り替える。
構文
HRESULT PauseChain( IBaseFilter *pStartFilter, IBaseFilter *pEndFilter );
パラメータ
- pStartFilter
- [in] チェーン先頭フィルタへのポインタ。
- pEndFilter
- [in] チェーン終端フィルタへのポインタ。このパラメータが NULL の場合、メソッドは先頭フィルタからダウンストリームへと続く最長のフィルタ チェーンを使用する。
戻り値
成功した場合は、S_OK を返す。メソッドが失敗した場合、戻り値は VFW_E_NOT_PAUSED またはその他の HRESULT 値になる。
注意
所定のフィルタをポーズ状態に切り替えることができない場合、このメソッドはチェーンのフィルタをすべて停止する。このメソッドを呼び出すとき、フィルタ グラフはポーズしていなければならない。
フィルタ チェーンのフィルタをすべてフィルタ グラフから削除する。
構文
HRESULT RemoveChain( IBaseFilter *pStartFilter, IBaseFilter *pEndFilter );
パラメータ
- pStartFilter
- [in] チェーン先頭フィルタへのポインタ。
- pEndFilter
- [in] チェーン終端フィルタへのポインタ。このパラメータが NULL の場合、メソッドは先頭フィルタからダウンストリームへと続く最長のフィルタ チェーンを使用する。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、失敗の原因を示す HRESULT 値を返す。
注意
このメソッドはグラフ実行中に呼び出すことができる。その場合、メソッドはチェーン内のフィルタを停止してからフィルタをグラフから削除する。
フィルタ チェーンのフィルタをすべて実行状態に切り替える。
構文
HRESULT StartChain( IBaseFilter *pStartFilter, IBaseFilter *pEndFilter );
パラメータ
- pStartFilter
- [in] チェーン先頭フィルタへのポインタ。
- pEndFilter
- [in] チェーン終端フィルタへのポインタ。このパラメータが NULL の場合、メソッドは先頭フィルタからダウンストリームへと続く最長のフィルタ チェーンを使用する。
戻り値
成功した場合は、S_OK を返す。メソッドが失敗した場合、戻り値は VFW_E_NOT_RUNNING またはその他の HRESULT 値になる。
注意
所定のフィルタを実行状態に切り替えることができない場合、フィルタはすべて停止状態に留まる。このメソッドを呼び出すとき、フィルタ グラフは実行中でなければならない。
フィルタ チェーンのフィルタをすべて停止状態に切り替える。
構文
HRESULT StopChain( IBaseFilter *pStartFilter, IBaseFilter *pEndFilter );
パラメータ
- pStartFilter
- [in] チェーン先頭フィルタへのポインタ。
- pEndFilter
- [in] チェーン終端フィルタへのポインタ。このパラメータが NULL の場合、メソッドは先頭フィルタからダウンストリームへと続く最長のフィルタ チェーンを使用する。
戻り値
成功した場合は、S_OK を返す。それ以外の場合は、失敗の原因を示す HRESULT 値を返す。