shell32: Implement SHGetPropertyStoreFromParsingName() as a wrapper over IShellItem2.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2017-02-27 17:19:23 +03:00 committed by Alexandre Julliard
parent 9c83e5ccf2
commit f2499d20d4
2 changed files with 18 additions and 9 deletions

View File

@ -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

View File

@ -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);