TSysDevEnum.GetMoniker(...) を使用せずに、既知のビデオ キャプチャ ソースで TFilter オブジェクトを作成/初期化することは可能ですか?
ビデオ キャプチャ ソースの名前とその他の詳細は既にわかっており、GraphEdit Filter Browser で取得できます。その意図は、TFilter の初期化を高速化し、それをプログラムで FilterGraph にアタッチすることです。
TSysDevEnum.GetMoniker(...) を使用せずに、既知のビデオ キャプチャ ソースで TFilter オブジェクトを作成/初期化することは可能ですか?
ビデオ キャプチャ ソースの名前とその他の詳細は既にわかっており、GraphEdit Filter Browser で取得できます。その意図は、TFilter の初期化を高速化し、それをプログラムで FilterGraph にアタッチすることです。
いいえ、moniker 経由で行う必要があります。これは、ビデオ ソース フィルターをサポートする実際の COM クラスに依存しますが、ほとんどの場合、固有CLSID
のものは存在せず、モニカーを介してインスタンス化することは不可能です。
モニカーの表示名がある場合は、MkParseDisplayName
列挙をバイパスして IMoniker をすばやく取得するために使用できます。または、モニカーの表示名を列挙して、既に保持しているものと比較することもできます。
オーディオまたはビデオ キャプチャ デバイスを選択するには、トピック「システム デバイス 列挙子の使用」で説明されているシステム デバイス 列挙子を使用します。System Device Enumerator は、デバイス カテゴリ別に選択されたデバイス モニカのコレクションを返します。モニカーは、別のオブジェクトに関する情報を含む COM オブジェクトです。モニカーを使用すると、アプリケーションは実際にオブジェクトを作成しなくても、オブジェクトに関する情報を取得できます。