From 46ba64139f8ec187c973e4deed3cc1111143db30 Mon Sep 17 00:00:00 2001 From: Johannes Anderwald Date: Wed, 20 Aug 2008 17:29:18 +0000 Subject: [PATCH] - Implement SHParseDisplayName by Paul paulvgenderen at gmail.com svn path=/trunk/; revision=35482 --- reactos/dll/win32/shell32/shellord.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/reactos/dll/win32/shell32/shellord.c b/reactos/dll/win32/shell32/shellord.c index 0fa51324751..98853c7cca2 100644 --- a/reactos/dll/win32/shell32/shellord.c +++ b/reactos/dll/win32/shell32/shellord.c @@ -2128,3 +2128,29 @@ BOOL WINAPI LinkWindow_UnregisterClass(void) return TRUE; } +/************************************************************************* + * SHParseDisplayName [shell version 6.0] + */ +HRESULT WINAPI SHParseDisplayName(LPCWSTR pszName, IBindCtx *pbc, +LPITEMIDLIST *ppidl, SFGAOF sfgaoIn, SFGAOF *psfgaoOut) +{ + IShellFolder * psfDesktop; + HRESULT hr=E_FAIL; + ULONG dwAttr=sfgaoIn; + + if (!pszName || !ppidl || !psfgaoOut) + return E_INVALIDARG; + + hr = SHGetDesktopFolder(&psfDesktop); + if (FAILED(hr)) + return hr; + + hr = IShellFolder_ParseDisplayName(psfDesktop, (HWND)NULL, pbc, (LPOLESTR)pszName, (ULONG *)NULL, ppidl, &dwAttr); + + IShellFolder_Release(psfDesktop); + + if (SUCCEEDED(hr)) + *psfgaoOut = dwAttr; + + return hr; +}