我试图使用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我找不到很多东西。我想念什么吗?还是有一个简单的解决方法涉及转换或预处理程序定义?
最佳答案
接下来呢?
HRESULT hr = SHGetKnownFolderPath(&FOLDERID_Profile,0,NULL,&path);