IGraphConfig インターフェイス (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
フィルター グラフ マネージャーは、動的グラフの構築をサポートするために公開します IGraphConfig
。 このインターフェイスを使用すると、アプリケーションとフィルターは、グラフが実行中の状態で、ストリームからデータを失うことなく、フィルター グラフを再構成できます。
グラフを動的に再構築する最も簡単な方法は、 IGraphConfig::Reconnect メソッドを呼び出す方法です。 このメソッドは、グラフを動的に再構築する詳細の大部分を処理します。 独自の手法を実装する状況が発生した場合は、 IGraphConfig
IGraphConfig::Reconfigure メソッドも提供します。 このメソッドは、フィルター グラフのロックを取得し、アプリケーションでコールバック関数を呼び出して、グラフを再構成します。 この方法では、ほとんどの作業がアプリケーションにシフトされます。 詳細については、「 動的グラフの作成」を参照してください。
フィルターの追加と削除のプロセスを最適化するために、フィルター グラフはフィルターのキャッシュを維持します。 Reconnect メソッドの呼び出し中に、グラフから削除されたすべてのフィルターがキャッシュに追加されることを指定できます。 必要になる可能性が高いことがわかっている場合は、 IGraphConfig::AddFilterToCache を呼び出して、キャッシュにフィルターを直接追加することもできます。 IGraphBuilder::Render、IGraphBuilder::RenderFile、および IGraphBuilder::Connect メソッドは、他のフィルターを使用する前に、キャッシュ内のフィルターを自動的に使用しようとします。 また、 Reconnect メソッドでは、キャッシュされたフィルターのみを再接続に使用するように指定できます。 キャッシュに保持されているフィルターは、実際にはグラフの一部ではないことに注意してください。 ピンから切断され、停止状態に保たれます。
継承
IGraphConfig インターフェイスは、IUnknown インターフェイスから継承されます。 IGraphConfig には、次の種類のメンバーもあります。
メソッド
IGraphConfig インターフェイスには、これらのメソッドがあります。
IGraphConfig::AddFilterToCache AddFilterToCache メソッドは、フィルター キャッシュにフィルターを追加します。 |
IGraphConfig::EnumCacheFilter EnumCacheFilter メソッドは、フィルター キャッシュ内のフィルターを列挙します。 |
IGraphConfig::GetFilterFlags GetFilterFlags メソッドは、フィルターの構成情報を取得します。 |
IGraphConfig::GetStartTime GetStartTime メソッドは、フィルター グラフが最後に実行状態になったときに使用された参照時刻を取得します。 |
IGraphConfig::P ushThroughData PushThroughData メソッドは、フィルター グラフを介して指定したピンにデータをプッシュします。 |
IGraphConfig::Reconfigure Reconfigure メソッドは、フィルター グラフをロックし、アプリケーションまたはフィルターでコールバック関数を呼び出して動的再構成を実行します。 |
IGraphConfig::Reconnect Reconnect メソッドは、2 つのピン間で動的再接続を実行します。 |
IGraphConfig::RemoveFilterEx RemoveFilterEx メソッドは、フィルター グラフからフィルターを削除します。 |
IGraphConfig::RemoveFilterFromCache RemoveFilterFromCache メソッドは、フィルター キャッシュからフィルターを削除します。 |
IGraphConfig::SetFilterFlags SetFilterFlags メソッドは、フィルターの構成情報を設定します。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |