error C2787 このオブジェクトに関連付けられた GUID はありません。
IFileDialogやIFileOpenDialogを使おうとしたら、「error C2787 このオブジェクトに関連付けられた GUID はありません。」というコンパイルエラーが出た。
原因は、元のソフトがWindowsXp以降で動作するようにしていたため。上記インターフェースは、WindowsVista以降でしか使えないのだ。
どのバージョン以降を動作対象にするか指定しているのは、stdafx.hの以下の箇所。
0x0501はWindowsXp以降を動作対象とする設定なので、これをVista以降となる0x0600に書き換えてやる。
これでコンパイルが通るようになった。
2018/06/23追記:
WINVER等とWindowsのバージョンの関係は、下記に公式情報がある。
Using the Windows Headers (Windows)
英語だが、各表右上の"Value for なんとか"という部分に、どの定数に関する表か書いてある。