|
ループはAzulean さんのおっしゃるやり方で可能です。(試してみました。) (実はC#よく知らないので適当です。)
FilgraphManager fl = new FilgraphManager(); IAMCollection cl = (IAMCollection)fl.RegFilterCollection; for (int i = 0; i < cl.Count; i++) { IRegFilterInfo reg; object Obj; cl.Item(i,out Obj); reg=(IRegFilterInfo)Obj; Console.WriteLine(reg.Name); }
しかし,今後,ファイルに保存するためのSinkFilterの設定ができないという 問題に突き当たると思います。 K.J.KさんのWebページのタイプライブラリやDirectX8.0のサンプルプログラム内にある DshowForVBLibを使えば可能かもしれませんが,VB用ですのでC#で使えるかはわかりません。
そもそもQuartzTypeLibがVB6をターゲットにしているので,C#ですべてのインターフェイスや コレクションが使えるかどうか...
一つのインチキなやり方として,GraphEditでグラフを作ってしまい,Grfファイルで保存し, C#でそれをロードしてRunするというのがあります。
|