2011-07-14 1 views
1

私は現在、リモートのDirectShowフィルタグラフを読み、そこから "now playing"スタイルのプラグインまたはスクリプトで表示するための情報を収集する小さなアプリケーション/ dllを開発しようとしています。数日の読書とそれに続くテストの後、私はROTからフィルタグラフアドレスを取得した後、Windows SDKに付属の "proppage.dll"を登録するまでIUnknownインターフェイスポインタをIFilterGraphに変換していないことに気付きました。Windows Vista +にproppage.dllを登録せずにリモートフィルタグラフにアクセスする方法はありますか?

私は何を求めているのですか?proppage.dllを登録しなくても、リモートフィルタグラフから情報を収集する方法は他にありませんか?

答えて

2

インターフェイスポインタとパラメータ/戻り値を他のプロセスとマーシャリングしない限り、別のアドレス空間からCOMインターフェイスを呼び出すことはできません。 COMの場合、クロスプロセスを使用できるようにする各インターフェイス用のマーシャリングオブジェクトを登録する必要があります。そのための標準実装はproppage.dllにあります。

マーシャリングを提供せずにインターフェイスにアクセスする簡単な方法はないと思います。 proppage.dllを使用したくない場合は、SDKに付属のIDLファイルからマーシャリングコードを作成し、それを自分のアプリケーションにコンパイルすることができます。

g

関連する問題