Visual Studio 2008 を使用して C からVista 関数を呼び出そうとしていますSHGetKnownFolderPath()
。コードは C++ として正常に動作しますが、次の出力で C コードとしてコンパイルすることを拒否します。
xyz\indexwiki.cpp(316): エラー C2440: '関数': 'const GUID' から 'const KNOWNFOLDERID *const' に変換できません xyz\indexwiki.cpp(316): 警告 C4024: 'SHGetKnownFolderPath': 形式の異なる型および実パラメータ 1
コードはほとんど次のとおりです。
PWSTR path;
HRESULT hr = SHGetKnownFolderPath(
FOLDERID_Profile,
0,
NULL,
&path
);
可能であれば、C のままにし、プロジェクトを単一のソース ファイルとして保持したいと思います。これは、新しい Windows API の既知の問題ですか? Google経由ではあまり見つかりませんでした。何か不足していますか?それとも、キャストまたはプリプロセッサ定義を含む簡単な回避策がありますか?