我正在尝试SHGetKnownFolderPath()
使用 Visual Studio 2008 从 C 调用 Vista 函数。该代码可以作为 C++ 正常工作,但拒绝使用以下输出编译为 C 代码:
xyz\indexwiki.cpp(316) : error C2440: 'function' : cannot convert from 'const GUID' to 'const KNOWNFOLDERID *const ' xyz\indexwiki.cpp(316) : warning C4024: 'SHGetKnownFolderPath' : 不同类型的正式和实际参数1
代码差不多:
PWSTR path;
HRESULT hr = SHGetKnownFolderPath(
FOLDERID_Profile,
0,
NULL,
&path
);
如果可以的话,我更愿意将其保留为 C 并将项目保留为单个源文件。这是较新的 Windows API 的已知问题吗?我通过谷歌找不到太多东西。我错过了什么吗?或者是否有一个涉及强制转换或预处理器定义的简单解决方法?