287{
292
293 TRACE (
"(%p)->(HWND=%p,%p,%p=%s,%p,pidl=%p,%p)\n",
294 this, hwndOwner, pbc, lpszDisplayName,
debugstr_w(lpszDisplayName),
295 pchEaten, ppidl, pdwAttributes);
296
297 if (!ppidl)
299
301
302 if (!lpszDisplayName)
304
305 if (pchEaten)
306 *pchEaten = 0;
307
308 urldata.
cbSize =
sizeof(urldata);
309
310 if (lpszDisplayName[0] == ':' && lpszDisplayName[1] == ':')
311 {
312 return m_regFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes);
313 }
315 {
316
318 szNext = lpszDisplayName;
319 }
321 {
323 szNext = lpszDisplayName;
324 }
326 {
327 *ppidl = pidlTemp;
329 }
331 {
333 {
336 }
337 else
339 }
340 else
341 {
342 if (*lpszDisplayName)
343 {
344
345 hr =
m_DesktopFSFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes);
348
349 return m_SharedDesktopFSFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes);
350 }
351 else
353
355 }
356
358 {
359 if (szNext && *szNext)
360 {
362 &pidlTemp, (
LPOLESTR) szNext, pchEaten, pdwAttributes);
363 }
364 else
365 {
366 if (pdwAttributes && *pdwAttributes)
367 {
369 }
370 }
371 }
372
374 *ppidl = pidlTemp;
375 else
377
378 TRACE (
"(%p)->(-- ret=0x%08x)\n",
this,
hr);
379
381}
virtual HRESULT WINAPI GetAttributesOf(UINT cidl, PCUITEMID_CHILD_ARRAY apidl, DWORD *rgfInOut)
LPITEMIDLIST SHELL32_CreatePidlFromBindCtx(IBindCtx *pbc, LPCWSTR path)
int WINAPI PathGetDriveNumberW(const WCHAR *path)
BOOL WINAPI PathIsUNCW(LPCWSTR lpszPath)
HRESULT WINAPI ParseURLW(LPCWSTR x, PARSEDURLW *y)
LPITEMIDLIST _ILCreateMyComputer(void)
LPITEMIDLIST _ILCreateNetwork(void)
LPITEMIDLIST _ILCreateGuidFromStrW(LPCWSTR szGUID)
HRESULT WINAPI IEParseDisplayNameWithBCW(DWORD codepage, LPCWSTR lpszDisplayName, LPBC pbc, LPITEMIDLIST *ppidl)
HRESULT SHELL32_ParseNextElement(IShellFolder2 *psf, HWND hwndOwner, LPBC pbc, LPITEMIDLIST *pidlInOut, LPOLESTR szNext, DWORD *pEaten, DWORD *pdwAttributes)
ITEMIDLIST UNALIGNED * LPITEMIDLIST