IFilterGraph::AddFilter メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
メソッドは AddFilter
、グラフにフィルターを追加します。
構文
HRESULT AddFilter(
[in] IBaseFilter *pFilter,
[in] LPCWSTR pName
);
パラメーター
[in] pFilter
追加するフィルターの IBaseFilter インターフェイスへのポインター。
[in] pName
フィルターの名前を含むワイド文字列へのポインター。
戻り値
HRESULT 値を返します。 使用可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
成功しました。 |
|
重複する名前のフィルターが正常に追加されました。 |
|
失敗しました。 |
|
メモリ不足です。 |
|
NULL ポインター引数。 |
|
このフィルターの使用は、ソフトウェア キーによって制限されます。 |
|
重複する名前のフィルターを追加できませんでした。 |
解説
フィルターの名前は NULL にすることができます。この場合、フィルター グラフ マネージャーによって名前が生成されます。 名前が NULL ではなく、一意でない場合、このメソッドは新しい一意の名前を生成しようとして名前を変更します。 これが成功した場合、このメソッドは VFW_S_DUPLICATE_NAMEを返します。 一意の名前を生成できない場合は、VFW_E_DUPLICATE_NAMEを返します。
AddFilter
は、フィルターの IBaseFilter::JoinFilterGraph メソッドを呼び出して、追加されたことをフィルターに通知します。 AddFilter
追加されたフィルターに属するピンを接続またはレンダリングするには、 IGraphBuilder::Connect、 IFilterGraph::ConnectDirect、または IGraphBuilder::Render メソッドを使用する前に を呼び出す必要があります。
フィルター グラフ マネージャーは、フィルターがグラフから削除されるか、フィルター グラフ マネージャーが解放されるまで、フィルターの参照カウントを保持します。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |