次の方法で共有


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 を呼び出さなければならない。

参照