为什么SetWallpaper调用失败,该怎么处理

为什么SetWallpaper调用失败
void SetDesktopWallpaper()
{
HRESULT hr;
IActiveDesktop *pActiveDesktop;
CoInitialize(NULL); 
hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER,IID_IActiveDesktop, (void**)&pActiveDesktop);
if (hr!=S_OK)
return;
WALLPAPEROPT wpOptions;
wpOptions.dwSize = sizeof(WALLPAPEROPT);
wpOptions.dwStyle = WPSTYLE_STRETCH;
hr=pActiveDesktop->SetWallpaperOptions(&wpOptions,0); 

COMPONENTSOPT comps;
comps.dwSize = sizeof comps;
comps.fEnableComponents = TRUE;
comps.fActiveDesktop = TRUE;

hr=pActiveDesktop-> SetDesktopItemOptions(&comps,0); 
//Insert code to call the IActiveDesktop methods


if(FAILED(pActiveDesktop->SetWallpaper(L"D;\\1.jpg",0)))
return; 
hr=pActiveDesktop->ApplyChanges(AD_APPLY_ALL); 

pActiveDesktop->Release();
CoUninitialize();

}

hr 返回一直是S_OK
执行完成后,桌面显示蓝色背景,且右键桌面属性->桌面图片就是设置的图片名  
为什么就是不显示? 哪位高手解答一下,谢谢

------解决方案--------------------
if(FAILED(pActiveDesktop->SetWallpaper(L"D;\\1.jpg",0)))

if(FAILED(pActiveDesktop->SetWallpaper(L"D:\\1.jpg",0)))应该是这样吧