Я пытаюсь вызвать функцию Vista SHGetKnownFolderPath()
из C с использованием Visual Studio 2008. Код отлично работает как 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. Я что-то пропустил? Или, может быть, существует простой обходной путь, включающий приведение или определение препроцессора?