284{
289
290 TRACE (
"(%p)->(HWND=%p,%p,%p=%s,%p,pidl=%p,%p)\n",
291 this, hwndOwner, pbc, lpszDisplayName,
debugstr_w(lpszDisplayName),
292 pchEaten, ppidl, pdwAttributes);
293
294 if (!ppidl)
296
298
299 if (!lpszDisplayName)
301
302 if (pchEaten)
303 *pchEaten = 0;
304
305 urldata.
cbSize =
sizeof(urldata);
306
307 if (lpszDisplayName[0] == ':' && lpszDisplayName[1] == ':')
308 {
309 return m_regFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes);
310 }
312 {
313
315 szNext = lpszDisplayName;
316 }
318 {
320 szNext = lpszDisplayName;
321 }
323 {
324 *ppidl = pidlTemp;
326 }
328 {
330 {
333 }
334 else
336 }
337 else
338 {
339 if (*lpszDisplayName)
340 {
341
342 hr =
m_DesktopFSFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes);
345
346 return m_SharedDesktopFSFolder->ParseDisplayName(hwndOwner, pbc, lpszDisplayName, pchEaten, ppidl, pdwAttributes);
347 }
348 else
350
352 }
353
355 {
356 if (szNext && *szNext)
357 {
359 &pidlTemp, (
LPOLESTR) szNext, pchEaten, pdwAttributes);
360 }
361 else
362 {
363 if (pdwAttributes && *pdwAttributes)
364 {
366 }
367 }
368 }
369
371 *ppidl = pidlTemp;
372 else
374
375 TRACE (
"(%p)->(-- ret=0x%08x)\n",
this,
hr);
376
378}
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