というわけで、まずはDirectShowの話をする前に必要となるWindowsSDKについてです。
まず、どうでもいい話として2005年のDirectX9以降のSDKからすでにDirectXは事実上Direct3Dの更新のみとなってしまっていることに加えて、
いつの間にかDirectShowがDirectX系から外れているのでDirectXのSDKでは開発できません。そろそろDirectSoundも外れそうな気配ですが・・・。
もちろんVisualStudio.NET2003以前ならDirectXのFeb2005にあるDirectShowを含んだSDKを手に入れて開発する方がいいと思います。
が、それ以上(VisualStudio2005より新しいコンパイラ系)では開発に必要なSDKがWindowsSDKと呼ばれるSDKに移されているのでそちらを手に入れる必要があります。
そちらに切り替えて開発しないと使えません。ちょっとした落とし穴っぽくなっています。
で、さらに落とし穴がこちらのライブラリを使用するようにすると過去のOSで実行するときに一部互換性を失って実行できなくなるという現象が発生します。
事実、私がスクリーンセーバーを作っていたときに、WindowsSDKを適応している状態でビルドしてみると見事にWindowsXPで実行できないスクリーンセーバーができました。びっくりです。
一応元々に付属していたライブラリを強制的に連結するようにして回避しましたが・・・。
インストールしてライブラリとインクルードファイルを使用するようにコンパイラに設定すれば開発の準備が整います。
DirectShowのフィルタを開発するときにはさらにもうひと手順必要で、
Samples/MultiMedia/DirectShow/BaseClasses
のディレクトリにあるプロジェクトを一回ビルドして必要なライブラリを生成し、この場所をデフォルトのインクルードディレクトリに追加する必要があります。
もちろん、デフォルトの文字コードや実行CPUの環境は気をつけないといけないのでいくつか状態に分けて生成しておいた方がいいです。
(私の場合は[x86|x64]+[UNICODE|MultiByte]+[Release|Debug]の8種類のライブラリを生成して必要に応じてリンクを分けるようにしています)
というわけでまずは開発環境の整備からです。それをやらないと作れません。ゲームでもDirectXのSDKを使ったりしますからね・・・。