■ ★DirevtShow★自作のフィルタをインスタンス化するには?
うみの
2007/12/18(火) 17:21:23 <初心者> 
DirectShowの自作のPUSH型ソースフィルタを作成しました。
graphedtでグラフに追加できることを確認しました。
このフィルタをプログラムからインスタンス化しようと思い、
CoCreateInstance(CLSID_MySource・・・
としましたが、コンパイル時に「CLSID_MySource' : 定義されていない識別子です。」と怒られてしまいます。
自作のフィルタを扱うには、どのようにすれば良いでしょうか?
コンパイルエラーが出るということは、単純にinclude追加しただけではリンクエラーも出ると思いますので、追加のlib等も教えていただけるとありがたいです。
wclrp ( 'o')
2007/12/18(火) 20:15:13
自分でフィルタを作ったのなら
当然CLSID_MySourceの定義があるから
それをプログラムのどこかコピペで定義すればいい。
定義するためのマクロには
extern宣言するだけのものと
値を定義するものがあるから注意。
定義は1箇所で行えばいい。追加libはいらない。
extern宣言はいくつあってもいいけど
定義が複数あると多重定義でリンクエラーになるかもな。
extern宣言だけで定義がひとつもなければコンパイルは出来るが
リンクエラーになる。
毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!
