次のように、VC++ 2010 アプリで FileSaveDialog (共通項目ダイアログ) を使用できます。
IFileDialog *pFileDialog;
HRESULT hr = CoCreateInstance(CLSID_FileSaveDialog, NULL, CLSCTX_INPROC_SERVER, IID_PPV_ARGS(&pFileDialog));
しかし、VC++ 6.0 から VC++ 2010 に変換されたプロジェクトにこのコードを挿入すると、次のエラーが発生します。
「エラー C2787: 'IFileDialog': このオブジェクトには GUID が関連付けられていません」
また、マクロの下に赤い波線が表示されIID_PPV_ARGS
、フロート オーバー エラーが表示されます。
「_uuidof のオペランドには、_declspec(uuid('...')) が指定されたクラスまたは列挙型が必要です」
どちらのプロジェクトでも共通言語ランタイム サポート (/clr) を使用していません。
GUID をオブジェクトに関連付けるにはどうすればよいですか?