質問です。
ActiveDeskTop Objectを使って現在の壁紙パスを取得するという
プログラムなんですが、取得方法がうまくいきません。

//#include 省略・・・

unsigned short* Path;
WCHAR wszWallpaper [MAX_PATH];

WCHAR* PathAA(void){
if (FAILED(CoInitialize(NULL))) return 0;
HRESULT hr;
IActiveDesktop *pActiveDesktop;
hr = CoCreateInstance(CLSID_ActiveDesktop, NULL, CLSCTX_INPROC_SERVER, IID_IActiveDesktop, (void**)&pActiveDesktop);
hr= pActiveDesktop->GetWallpaper(wszWallpaper, 256, 0);
pActiveDesktop->Release();
CoUninitialize();
return wszWallpaper;
}
int main(void)
{
Path=PathAA();
cout << (LPSTR)(Path) << endl;
return 0;
}
これで実行すると壁紙パスの最初の一文字しか取得できません。
全ての文字(フルパスの文字)を取得するにはどこを直せばよいでしょうか。
ご教授宜しくお願いいたします。