[PATCH] Added SHParseDisplayName function

Paul paulvgenderen at gmail.com
Sun Mar 16 10:38:29 CDT 2008


---
 dlls/shell32/pidl.c |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/dlls/shell32/pidl.c b/dlls/shell32/pidl.c
index e369574..d25a1b2 100644
--- a/dlls/shell32/pidl.c
+++ b/dlls/shell32/pidl.c
@@ -1314,6 +1314,32 @@ HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl,
REFIID riid, LPVOID *ppv, LPCI
     return hr;
 }
 
+/*************************************************************************
+ *    SHParseDisplayName        [shell version 6.0]
+ */
+HRESULT WINAPI SHParseDisplayName(LPCWSTR pszName, IBindCtx *pbc,
PIDLIST_ABSOLUTE *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 = psfDeskTop->ParseDisplayName((HWND)NULL, pbc, pszName, (ULONG
*)NULL, ppidl, &dwAttr);
+
+    IShellFolder_Release(psfDesktop);
+
+    if (SUCCEED(hr))
+        *psfgaoOut = dwAttr;
+
+    return hr;
+}
+
 /**************************************************************************
  *
  *        internal functions
-- 
1.5.3.6






More information about the wine-patches mailing list