Set Custom Path Variables Example for C++
HRESULT SetCustomPathVariables(LPCTSTR folder)
{
HRESULT hr;
CComPtr<IltmsPathResolver> resolver;
// this function will clear the default variables and set up direct ltmsMediaFolder, ltmsLogFolder, and ltmsConfigFolder variables
hr = CoCreateInstance(__uuidof(ltmsPathResolver), NULL, CLSCTX_ALL, __uuidof(IltmsPathResolver), (void**) &resolver);
if(FAILED(hr))
goto error;
// clear them all
hr = resolver->Clear();
if(FAILED(hr))
goto error;
// now just define ltmsMediaFolder, ltmsLogFolder, and ltmsConfigFolder
hr = resolver->Add(CComBSTR(L"ltmsMediaFolder"), CComBSTR(CString(folder) + _T("\\content")));
if(FAILED(hr))
goto error;
hr = resolver->Add(CComBSTR(L"ltmsLogFolder"), CComBSTR(CString(folder) + _T("\\logfiles")));
if(FAILED(hr))
goto error;
hr = resolver->Add(CComBSTR(L"ltmsConfigFolder"), CComBSTR(CString(folder) + _T("\\configuration")));
if(FAILED(hr))
goto error;
// for demonstration add and remove a folder
hr = resolver->Add(CComBSTR(L"TempFolder"), CComBSTR(CString(folder) + _T("\\temp")));
if(FAILED(hr))
goto error;
hr = resolver->Remove(CComBSTR(L"TempFolder"));
if(FAILED(hr))
goto error;
error:
return hr;
}