Nikolay Sivov : shell32: Implement SHGetPropertyStoreFromParsingName() as a wrapper over IShellItem2.
Alexandre Julliard
julliard at winehq.org
Mon Feb 27 15:12:09 CST 2017
Module: wine
Branch: master
Commit: f2499d20d4eb6dcce8984d5ef887648112f4f1f5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=f2499d20d4eb6dcce8984d5ef887648112f4f1f5
Author: Nikolay Sivov <nsivov at codeweavers.com>
Date: Mon Feb 27 17:19:23 2017 +0300
shell32: Implement SHGetPropertyStoreFromParsingName() as a wrapper over IShellItem2.
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/shell32/shell32_main.c | 9 ---------
dlls/shell32/shellitem.c | 18 ++++++++++++++++++
2 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c
index 7e1c7d5..1a22150 100644
--- a/dlls/shell32/shell32_main.c
+++ b/dlls/shell32/shell32_main.c
@@ -964,15 +964,6 @@ HRESULT WINAPI SHGetPropertyStoreForWindow(HWND hwnd, REFIID riid, void **ppv)
return E_NOTIMPL;
}
-/*************************************************************************
- * SHGetPropertyStoreFromParsingName [SHELL32.@]
- */
-HRESULT WINAPI SHGetPropertyStoreFromParsingName(PCWSTR pszPath, IBindCtx *pbc, GETPROPERTYSTOREFLAGS flags, REFIID riid, void **ppv)
-{
- FIXME("(%s %p %u %p %p) stub!\n", debugstr_w(pszPath), pbc, flags, riid, ppv);
- return E_NOTIMPL;
-}
-
/*************************************************************************/
typedef struct
diff --git a/dlls/shell32/shellitem.c b/dlls/shell32/shellitem.c
index 57f5fa6..1e19f7c 100644
--- a/dlls/shell32/shellitem.c
+++ b/dlls/shell32/shellitem.c
@@ -1331,6 +1331,24 @@ HRESULT WINAPI SHCreateShellItemArrayFromIDLists(UINT cidl,
return ret;
}
+HRESULT WINAPI SHGetPropertyStoreFromParsingName(const WCHAR *path, IBindCtx *pbc, GETPROPERTYSTOREFLAGS flags,
+ REFIID riid, void **ppv)
+{
+ IShellItem2 *item;
+ HRESULT hr;
+
+ TRACE("(%s %p %#x %p %p)\n", debugstr_w(path), pbc, flags, riid, ppv);
+
+ hr = SHCreateItemFromParsingName(path, pbc, &IID_IShellItem2, (void **)&item);
+ if(SUCCEEDED(hr))
+ {
+ hr = IShellItem2_GetPropertyStore(item, flags, riid, ppv);
+ IShellItem2_Release(item);
+ }
+
+ return hr;
+}
+
static HRESULT WINAPI CustomDestinationList_QueryInterface(ICustomDestinationList *iface, REFIID riid, void **obj)
{
CustomDestinationList *This = impl_from_ICustomDestinationList(iface);
More information about the wine-cvs
mailing list