IFilterGraph::AddFilter
AddFilter メソッドは、グラフにフィルタを追加する。
構文
HRESULT AddFilter(
IBaseFilter *pFilter,
LPCWSTR pName
);
パラメータ
pFilter
[in] 追加するフィルタの IBaseFilter インターフェイスへのポインタ。
pName
[in] フィルタの名前が格納されているワイド文字列へのポインタ。
[in] フィルタ名へのポインタ。
戻り値
HRESULT 値を返す。可能な値は次のとおりである。
値 | 説明 |
S_OK | 成功。 |
VFW_S_DUPLICATE_NAME | 名前が重複したフィルタの追加に成功した。 |
E_FAIL | 失敗。 |
E_OUTOFMEMORY | メモリ不足。 |
E_POINTER | NULL ポインタ引数。 |
VFW_E_CERTIFICATION_FAILURE | このフィルタの使用は、ソフトウェア キーによって制限されている。 |
VFW_E_DUPLICATE_NAME | 名前が重複したフィルタの追加に失敗した。 |
注意
フィルタ名は NULL の場合がある。その場合、フィルタ グラフ マネージャが名前を生成する。フィルタ名が NULL 以外で一意でない場合、このメソッドは、フィルタ名を変更して一意な名前を生成しようとする。これに成功すると、VFW_S_DUPLICATE_NAME を返す。一意な名前を生成できない場合は、VFW_E_DUPLICATE_NAME を返す。
AddFilter は、フィルタの IBaseFilter::JoinFilterGraph メソッドを呼び出して、フィルタが追加されたことをそのフィルタに通知する。IGraphBuilder::Connect メソッド、IFilterGraph::ConnectDirect メソッド、または IGraphBuilder::Render メソッドを使って、追加したフィルタに属するピンを接続またはレンダリングする場合には、その前に AddFilter を呼び出さなければならない。
参照