TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl);
TRACE("(%p,%p,%u)\n", pidlRoot, apidl, cidl);
- _ILSimpleGetTextW(apidl[i], wszFileName, MAX_PATH);
- size += (rootlen + wcslen(wszFileName) + 1) * sizeof(WCHAR);
+ pidls[i] = ILCombine(pidlRoot, apidl[i]);
+ SHGetPathFromIDListW(pidls[i], wszFileName);
+ size += (wcslen(wszFileName) + 1) * sizeof(WCHAR);
pDropFiles = (DROPFILES *)GlobalLock(hGlobal);
offset = (sizeof(DROPFILES) + sizeof(WCHAR) - 1) / sizeof(WCHAR);
pDropFiles->pFiles = offset * sizeof(WCHAR);
pDropFiles->fWide = TRUE;
pDropFiles = (DROPFILES *)GlobalLock(hGlobal);
offset = (sizeof(DROPFILES) + sizeof(WCHAR) - 1) / sizeof(WCHAR);
pDropFiles->pFiles = offset * sizeof(WCHAR);
pDropFiles->fWide = TRUE;
wcscpy(((WCHAR*)pDropFiles)+offset, wszFileName);
offset += wcslen(wszFileName) + 1;
wcscpy(((WCHAR*)pDropFiles)+offset, wszFileName);
offset += wcslen(wszFileName) + 1;