次の方法で共有


IBaseFilter::JoinFilterGraph メソッド (strmif.h)

[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayerIMFMediaEngine、および Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayerIMFMediaEngineAudio/Video Capture を使用することを強くお勧めします。 Microsoft は、従来の API を使用する既存のコードを、可能であれば新しい API を使用するように書き直すよう提案しています。]

メソッドは JoinFilterGraph 、フィルター グラフに参加しているか、フィルター グラフから離れたことをフィルターに通知します。

構文

HRESULT JoinFilterGraph(
  [in] IFilterGraph *pGraph,
  [in] LPCWSTR      pName
);

パラメーター

[in] pGraph

フィルター グラフ マネージャーの IFilterGraph インターフェイスへのポインター。フィルターがグラフから離れる場合は NULL

[in] pName

フィルターの名前を指定するワイド文字列へのポインター。

戻り値

成功した場合はS_OK、エラーの原因を示す HRESULT 値を返します。

注釈

フィルター グラフ マネージャーは、フィルター グラフにフィルターを追加すると、それ自体へのポインターを使用してこのメソッドを呼び出します。 pName パラメーターを使用して、フィルターのこのインスタンスの名前を割り当てます。 名前は、 IBaseFilter::QueryFilterInfo メソッドを呼び出すことで取得できます。

フィルター グラフ マネージャーは、グラフからフィルターを削除すると、 NULL ポインターを使用してこのメソッドを呼び出します。

アプリケーションでは、このメソッドを呼び出さないでください。 グラフにフィルターを追加するには、フィルター グラフ マネージャーで IFilterGraph::AddFilter メソッドを呼び出します。

フィルター開発者: フィルターは 、IFilterGraph インターフェイス ポインターを格納し、他の Filter Graph Manager インターフェイスに対してクエリを実行できます。 ただし、フィルター グラフ マネージャーに参照カウントを保持しないでください。 これにより、フィルター グラフ マネージャーによってフィルターに参照カウントが保持されるため、循環参照カウントが作成されます。 循環参照カウントを使用すると、インターフェイスが正しく解放されず、デッドロックが発生する可能性があります。 IFilterGraph インターフェイスは、Filter Graph Manager が値 NULL でこのメソッドを再度呼び出すまで有効であることが保証されます。 このメソッドの実装については、 CBaseFilter::JoinFilterGraph メソッドを参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー strmif.h (Dshow.h を含む)
Library Strmiids.lib

こちらもご覧ください

エラーコードと成功コード

IBaseFilter インターフェイス