★DirevtShow★自作のフィルタをインスタンス化するには?


うみの  2007-12-19 02:21:23  No: 67204

DirectShowの自作のPUSH型ソースフィルタを作成しました。
graphedtでグラフに追加できることを確認しました。

このフィルタをプログラムからインスタンス化しようと思い、

  CoCreateInstance(CLSID_MySource・・・

としましたが、コンパイル時に「CLSID_MySource' : 定義されていない識別子です。」と怒られてしまいます。

自作のフィルタを扱うには、どのようにすれば良いでしょうか?
コンパイルエラーが出るということは、単純にinclude追加しただけではリンクエラーも出ると思いますので、追加のlib等も教えていただけるとありがたいです。


wclrp ( 'o')  2007-12-19 05:15:13  No: 67205

自分でフィルタを作ったのなら
当然CLSID_MySourceの定義があるから
それをプログラムのどこかコピペで定義すればいい。

定義するためのマクロには
extern宣言するだけのものと
値を定義するものがあるから注意。
定義は1箇所で行えばいい。追加libはいらない。

extern宣言はいくつあってもいいけど
定義が複数あると多重定義でリンクエラーになるかもな。
extern宣言だけで定義がひとつもなければコンパイルは出来るが
リンクエラーになる。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加