Не выходит создать ярлык средствами winapi на C++. Код и ошибку привожу ниже. Подскажите пожалуйста что делать?
#pragma comment(lib, "Ole32.lib")
#include <iostream>
#include <shlobj.h>
#include <objidl.h>
#include <objbase.h>
#include <windows.h>
using namespace std;
int main()
{
HRESULT hres;
IShellLink *psl = NULL;
IPersistFile *pPf = NULL;
CoInitialize(NULL);
hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink,reinterpret_cast<void**>(&psl));
if (SUCCEEDED(hres))
{
psl->SetPath("C:\\test\\SmcServer.exe");
psl->SetWorkingDirectory("C:\\test");
psl->SetDescription("desc ololo");
psl->SetArguments("");
psl->SetShowCmd(SW_SHOWNORMAL);
psl->QueryInterface(IID_IPersistFile, (void**)&pPf);
pPf->Save(reinterpret_cast<LPCOLESTR>("C:\\test.ink"), true);
}
CoUninitialize();
return 0;
}