Microsoft DirectX 8.0

IFilterGraph2 インターフェイス

このインターフェイスは、フィルタ グラフを構築するメソッドを提供する IFilterGraph インターフェイスおよび IGraphBuilder インターフェイスを拡張する。

フィルタ グラフ マネージャがこのインターフェイスを実装する。アプリケーションでグラフを構築するとき、このインターフェイスを使用すると、追加のメソッドを利用できる。

IFilterGraph2 には、IFilterGraph および IGraphBuilder にない 2 つのメソッドがある。

vtable 順のメソッド

IUnknown メソッド説明
QueryInterface サポートされているインターフェイスへのポインタを取得する。
AddRef 参照カウントをインクリメントする。
Release 参照カウントをデクリメントする。
IFilterGraph メソッド説明
AddFilterグラフにフィルタを追加し、そのフィルタに名前を付ける。
RemoveFilterグラフからフィルタを削除する。
EnumFiltersグラフのフィルタすべてに対して列挙子を提供する。
FindFilterByName特定の名前で追加されたフィルタを検索する。
ConnectDirect2 つのピンを直接接続する (フィルタを通さない)。
Reconnect既存のピン接続を切断し、同じピンに再接続する。
Disconnect特定のピンを切断する。
SetDefaultSyncSourceデフォルトの同期基準 (クロック) を設定する。
IGraphBuilder メソッド説明
Connect2 つのピンを接続する。直接接続できない場合は変換を介して接続する。
Render特定の出力ピンにフィルタ チェーンを追加してレンダリングする。
RenderFile指定されたファイルをレンダリングするフィルタ グラフを構築する。
AddSourceFilter特定のファイルのフィルタ グラフにソース フィルタを追加する。IGraphBuilder::RenderFile メソッドはこのメソッドを呼び出してソース フィルタを検索する。
SetLogFileログ ファイルを設定する。操作を実行しようとしたとき行われた各アクションは、このファイルに出力される。
Abort現在のタスクからできる限り早く戻るようにグラフ ビルダに要求する。
ShouldOperationContinue現在の操作が継続すべきかどうかを照会する。
IFilterGraph2 メソッド説明
AddSourceFilterForMoniker モニカに基づいたソース フィルタを追加する。
ReconnectEx 既存のピン接続を切断し、特定のメディア タイプを使用して同じピンに再接続する。

IFilterGraph2::AddSourceFilterForMoniker

IFilterGraph2 インターフェイス

モニカに基づいたソース フィルタを追加する。たとえば、ビデオ キャプチャ デバイスなどのシステム デバイス用のモニカを取得し、そのデバイス用のビデオ キャプチャ フィルタを追加することができる (システム デバイス モニカの詳細については、「ICreateDevEnum」を参照すること)。

構文

HRESULT AddSourceFilterForMoniker(
  IMoniker *pMoniker,
  IBindCtx *pCtx,
  LPCWSTR lpcwstrFilterName,
  IBaseFilter **ppFilter );

パラメータ

pMoniker
[in] IMoniker インターフェイスへのポインタ。
pCtx
[in] コンテキストをバインドする IBindCtx インターフェイスへのポインタ。
lpcwstrFilterName
[in] フィルタ名へのポインタ。
ppFilter
[out] IBaseFilter インターフェイスへのポインタのアドレス。

戻り値

メソッドが成功した場合、戻り値は次のいずれかの値になる。

S_OK成功。
VFW_S_DUPLICATE_NAME名前が重複したフィルタの追加に成功した。

メソッドが失敗した場合、戻り値は次のいずれかのエラー値になる。

E_FAIL失敗。
E_OUTOFMEMORYメモリ不足。
VFW_E_DUPLICATE_NAME名前が重複したフィルタの追加に失敗した。
VFW_E_CANNOT_LOAD_SOURCE_FILTERソース フィルタをロードできない。
VFW_E_UNKNOWN_FILE_TYPEこのファイルのメディア タイプが認識されない。

注意

指定されたモニカのためのソース フィルタをグラフに追加するとき、IMoniker::BindToStorage COM メンバ関数は IStream インターフェイスを照会する。これに失敗すると、IMoniker::BindToObjectIBaseFilter インターフェイスを取得しようとする。

IFilterGraph2::ReconnectEx

IFilterGraph2 インターフェイス

既存のピン接続を切断し、特定のメディア タイプを使用して同じピンに再接続する。

構文

HRESULT ReconnectEx(

  IPin *ppin,
  const AM_MEDIA_TYPE *pmt );

パラメータ

ppin
[in] 切断および再接続するピンへのポインタ。
pmt
[in] 再接続に使用するメディア タイプへのポインタ。既存のメディア タイプを使用するには、NULL を指定する。

戻り値

S_OK成功。
S_FALSEピンが接続されていない。エラーなし。

メソッドが失敗した場合、戻り値は次のいずれかのエラー値になる。

E_FAIL失敗。
E_POINTERNull ポインタ引数。
VFW_E_NOT_STOPPEDフィルタが停止していないが、実行中の再接続がサポートされていない。

注意

ReconnectEx メソッドは、IFilterGraph::Reconnect メソッド同様、ピンとそのピンが現在接続されているピンの再接続をスケジュールする。このメソッドを呼び出すときにメディア タイプを指定すると、ピン側で、元の接続に使用されていたタイプを確認したり、可能性のある新しいタイプを列挙したりする必要がないため、再接続が成功する可能性が高くなる。

参照

IFilterGraph::Reconnect