ICaptureGraphBuilder2::FindInterface メソッド (strmif.h)
[このページに関連付けられている機能 DirectShow は、従来の機能です。 MediaPlayer、IMFMediaEngine、Media Foundation のオーディオ/ビデオ キャプチャに置き換わりました。 これらの機能は、Windows 10とWindows 11用に最適化されています。 新しいコードでは、可能であれば、DirectShow ではなく Media Foundation で MediaPlayer、IMFMediaEngine、Audio/Video Capture を使用することを強くお勧めします。 Microsoft は、レガシ API を使用する既存のコードを、可能であれば新しい API を使用するように書き換えるよう提案しています。]
メソッドは FindInterface
、指定したフィルターから開始して、指定したインターフェイスのグラフを検索します。 フィルターの上流または下流のグラフのセクションに検索を制限したり、特定のピン カテゴリまたはメディアの種類に制限したりできます。
構文
HRESULT FindInterface(
[in] const GUID *pCategory,
[in] const GUID *pType,
[in] IBaseFilter *pf,
[in] REFIID riid,
[out] void **ppint
);
パラメーター
[in] pCategory
検索条件を指定する GUID へのポインター。 詳細については、「解説」を参照してください。 可能な値は次のとおりです。
- &LOOK_UPSTREAM_ONLY。
- &LOOK_DOWNSTREAM_ONLY。
- [ Pin プロパティ セット] に一覧表示されているピン カテゴリの 1 つ。
- NULL
[in] pType
出力ピンの主要なメディアの種類 ( NULL) を指定する GUID へのポインター。
[in] pf
フィルターの IBaseFilter インターフェイスへのポインター。 メソッドは、このフィルターから検索を開始します。
[in] riid
検索するインターフェイスのインターフェイス識別子 (IID)。
[out] ppint
インターフェイス ポインターを受け取る変数のアドレス。 インターフェイスが完了したら、必ず取得したインターフェイス ポインターを解放してください。
戻り値
HRESULT 値を返します。 使用可能な値は次のとおりです。
リターン コード | 説明 |
---|---|
|
正常終了しました。 |
|
失敗しました。 |
|
そのようなインターフェイスはサポートされていません。 |
|
NULL ポインター引数。 |
注釈
キャプチャ グラフでは、さまざまなフィルターとピンによって、圧縮パラメーター (IAMVideoCompression) やストリーム形式 (IAMStreamConfig) などのプロパティを設定するためのインターフェイスが公開される場合があります。 キャプチャ デバイスによっては、アナログ信号をルーティングする IAMCrossbar や、テレビ チューナー デバイスを制御する IAMTVTuner などの便利なインターフェイスが含まれる場合があります。 このメソッドを使用すると、グラフを走査する特別なコードを記述することなく、インターフェイスを検索できます。
- フィルター
- フィルターのピン
- すべてのダウンストリーム フィルター (ピンを含む)
- すべてのアップストリーム フィルター (ピンを含む)
- pCategory が &LOOK_UPSTREAM_ONLY と等しい場合、検索はフィルターの入力ピンから開始され、アップストリームに進みます。 フィルターまたはフィルターの下流には何も含まれません。 pType パラメーターは無視されます。
- pCategory が &LOOK_DOWNSTREAM_ONLY と等しい場合、検索はフィルターの出力ピンから開始され、ダウンストリームに続きます。 フィルターやフィルターの上流には含まれません。 pType パラメーターは無視されます。
- pCategory でピン カテゴリが指定されている場合、検索のダウンストリーム部分は、pType パラメーターで指定されたピン カテゴリとメディアの種類の両方に一致するフィルターの出力ピンに制限されます。 この場合、 メソッドはフィルターと、フィルターから上流のすべても検索します。
ピン カテゴリは、キャプチャ フィルターでピン インターフェイスを見つけるのに役立ちます。 たとえば、キャプチャ フィルターには、キャプチャとプレビュー用の個別のピンが含まれます。 ピン カテゴリを指定する場合は、メディアの種類も指定して、メソッドが正しいフィルターとピンを選択することを確認する必要があります。
一部のビデオ キャプチャ フィルターには、プレビュー ピンではなくビデオ ポート ピン (PIN_CATEGORY_VIDEOPORT) があります。 PIN_CATEGORY_PREVIEWとMEDIATYPE_Videoを指定した場合、メソッドはビデオ ポート ピンをプレビュー ピンとして扱います。 アプリケーションでこの可能性をテストする必要はありません。
フィルターのサポート。 キャプチャ デバイスで Windows ドライバー モデル (WDM) ドライバーが使用されている場合、グラフには、テレビ チューナー フィルターやアナログ ビデオ クロスバー フィルターなど、WDM ビデオ キャプチャ フィルターの上流にある特定のフィルターが必要になる場合があります。 pCategory パラメーターが NULL と等しくない場合、このメソッドは必要な WDM フィルターをグラフに自動的に挿入します。 これを行うには、キャプチャ フィルターの入力ピンに対してクエリを実行して、サポートされているメディアを特定し、一致するフィルターに接続します。 pCategory パラメーターが NULL の場合、メソッドはアップストリーム フィルターを追加しません。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | strmif.h (Dshow.h を含む) |
Library | Strmiids.lib |