Index: dll/win32/shell32/folders/fs.cpp =================================================================== --- dll/win32/shell32/folders/fs.cpp (revision 63837) +++ dll/win32/shell32/folders/fs.cpp (working copy) @@ -171,7 +171,7 @@ HRESULT WINAPI CFSFolder::ParseDisplayName(HWND hwndOwner, LPBC pbc, LPOLESTR lpszDisplayName, - DWORD *pchEaten, LPITEMIDLIST *ppidl, + DWORD *pchEaten, PIDLIST_RELATIVE *ppidl, DWORD *pdwAttributes) { HRESULT hr = E_INVALIDARG; @@ -297,7 +297,7 @@ * LPVOID* ppvObject //[out] Interface* */ HRESULT WINAPI CFSFolder::BindToObject( - LPCITEMIDLIST pidl, + PCUIDLIST_RELATIVE pidl, LPBC pbc, REFIID riid, LPVOID * ppvOut) @@ -317,7 +317,7 @@ * LPVOID* ppvObject //[out] Interface* returned */ HRESULT WINAPI CFSFolder::BindToStorage( - LPCITEMIDLIST pidl, + PCUIDLIST_RELATIVE pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut) @@ -334,7 +334,8 @@ */ HRESULT WINAPI CFSFolder::CompareIDs(LPARAM lParam, - LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2) + PCUIDLIST_RELATIVE pidl1, + PCUIDLIST_RELATIVE pidl2) { int nReturn; @@ -391,7 +392,7 @@ * */ HRESULT WINAPI CFSFolder::GetAttributesOf(UINT cidl, - LPCITEMIDLIST * apidl, DWORD * rgfInOut) + PCUITEMID_CHILD_ARRAY apidl, DWORD * rgfInOut) { HRESULT hr = S_OK; @@ -460,8 +461,9 @@ * needs the positions. */ HRESULT WINAPI CFSFolder::GetUIObjectOf(HWND hwndOwner, - UINT cidl, LPCITEMIDLIST * apidl, REFIID riid, - UINT * prgfInOut, LPVOID * ppvOut) + UINT cidl, PCUITEMID_CHILD_ARRAY apidl, + REFIID riid, UINT * prgfInOut, + LPVOID * ppvOut) { LPITEMIDLIST pidl; IUnknown *pObj = NULL; @@ -597,7 +599,7 @@ * if the name is in the pidl the ret value should be a STRRET_OFFSET */ -HRESULT WINAPI CFSFolder::GetDisplayNameOf(LPCITEMIDLIST pidl, +HRESULT WINAPI CFSFolder::GetDisplayNameOf(PCUITEMID_CHILD pidl, DWORD dwFlags, LPSTRRET strRet) { LPWSTR pszPath; @@ -677,10 +679,10 @@ */ HRESULT WINAPI CFSFolder::SetNameOf( HWND hwndOwner, - LPCITEMIDLIST pidl, + PCUITEMID_CHILD pidl, LPCOLESTR lpName, DWORD dwFlags, - LPITEMIDLIST * pPidlOut) + PITEMID_CHILD *pPidlOut) { WCHAR szSrc[MAX_PATH + 1], szDest[MAX_PATH + 1]; LPWSTR ptr; @@ -778,7 +780,7 @@ return S_OK; } -HRESULT WINAPI CFSFolder::GetDetailsEx(LPCITEMIDLIST pidl, +HRESULT WINAPI CFSFolder::GetDetailsEx(PCUITEMID_CHILD pidl, const SHCOLUMNID * pscid, VARIANT * pv) { FIXME ("(%p)\n", this); @@ -786,7 +788,7 @@ return E_NOTIMPL; } -HRESULT WINAPI CFSFolder::GetDetailsOf(LPCITEMIDLIST pidl, +HRESULT WINAPI CFSFolder::GetDetailsOf(PCUITEMID_CHILD pidl, UINT iColumn, SHELLDETAILS * psd) { HRESULT hr = E_FAIL; Index: dll/win32/shell32/folders/fs.h =================================================================== --- dll/win32/shell32/folders/fs.h (revision 63837) +++ dll/win32/shell32/folders/fs.h (working copy) @@ -59,24 +59,24 @@ // IShellFolder - virtual HRESULT WINAPI ParseDisplayName(HWND hwndOwner, LPBC pbc, LPOLESTR lpszDisplayName, DWORD *pchEaten, LPITEMIDLIST *ppidl, DWORD *pdwAttributes); + virtual HRESULT WINAPI ParseDisplayName(HWND hwndOwner, LPBC pbc, LPOLESTR lpszDisplayName, DWORD *pchEaten, PIDLIST_RELATIVE *ppidl, DWORD *pdwAttributes); virtual HRESULT WINAPI EnumObjects(HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST *ppEnumIDList); - virtual HRESULT WINAPI BindToObject(LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut); - virtual HRESULT WINAPI BindToStorage(LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut); - virtual HRESULT WINAPI CompareIDs(LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2); + virtual HRESULT WINAPI BindToObject(PCUIDLIST_RELATIVE pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut); + virtual HRESULT WINAPI BindToStorage(PCUIDLIST_RELATIVE pidl, LPBC pbcReserved, REFIID riid, LPVOID *ppvOut); + virtual HRESULT WINAPI CompareIDs(LPARAM lParam, PCUIDLIST_RELATIVE pidl1, PCUIDLIST_RELATIVE pidl2); virtual HRESULT WINAPI CreateViewObject(HWND hwndOwner, REFIID riid, LPVOID *ppvOut); - virtual HRESULT WINAPI GetAttributesOf(UINT cidl, LPCITEMIDLIST *apidl, DWORD *rgfInOut); - virtual HRESULT WINAPI GetUIObjectOf(HWND hwndOwner, UINT cidl, LPCITEMIDLIST *apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut); - virtual HRESULT WINAPI GetDisplayNameOf(LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet); - virtual HRESULT WINAPI SetNameOf(HWND hwndOwner, LPCITEMIDLIST pidl, LPCOLESTR lpName, DWORD dwFlags, LPITEMIDLIST *pPidlOut); + virtual HRESULT WINAPI GetAttributesOf(UINT cidl, PCUITEMID_CHILD_ARRAY apidl, DWORD *rgfInOut); + virtual HRESULT WINAPI GetUIObjectOf(HWND hwndOwner, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut); + virtual HRESULT WINAPI GetDisplayNameOf(PCUITEMID_CHILD pidl, DWORD dwFlags, LPSTRRET strRet); + virtual HRESULT WINAPI SetNameOf(HWND hwndOwner, PCUITEMID_CHILD pidl, LPCOLESTR lpName, DWORD dwFlags, PITEMID_CHILD *pPidlOut); /* ShellFolder2 */ virtual HRESULT WINAPI GetDefaultSearchGUID(GUID *pguid); virtual HRESULT WINAPI EnumSearches(IEnumExtraSearch **ppenum); virtual HRESULT WINAPI GetDefaultColumn(DWORD dwRes, ULONG *pSort, ULONG *pDisplay); virtual HRESULT WINAPI GetDefaultColumnState(UINT iColumn, DWORD *pcsFlags); - virtual HRESULT WINAPI GetDetailsEx(LPCITEMIDLIST pidl, const SHCOLUMNID *pscid, VARIANT *pv); - virtual HRESULT WINAPI GetDetailsOf(LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS *psd); + virtual HRESULT WINAPI GetDetailsEx(PCUITEMID_CHILD pidl, const SHCOLUMNID *pscid, VARIANT *pv); + virtual HRESULT WINAPI GetDetailsOf(PCUITEMID_CHILD pidl, UINT iColumn, SHELLDETAILS *psd); virtual HRESULT WINAPI MapColumnToSCID(UINT column, SHCOLUMNID *pscid); // IPersist Index: include/psdk/shobjidl.idl =================================================================== --- include/psdk/shobjidl.idl (revision 63881) +++ include/psdk/shobjidl.idl (working copy) @@ -215,7 +215,7 @@ [in] LPBC pbcReserved, [in, string] LPOLESTR lpszDisplayName, [out] ULONG *pchEaten, - [out] LPITEMIDLIST *ppidl, + [out] PIDLIST_RELATIVE *ppidl, [in, out, unique] ULONG *pdwAttributes); HRESULT EnumObjects( @@ -332,8 +332,8 @@ HRESULT EnumSearches( [out] IEnumExtraSearch **ppenum ); HRESULT GetDefaultColumn( [in] DWORD dwReserved, [out] ULONG *pSort, [out] ULONG *pDisplay ); HRESULT GetDefaultColumnState( [in] UINT iColumn, [out] SHCOLSTATEF *pcsFlags ); - HRESULT GetDetailsEx( [in] LPCITEMIDLIST pidl, [in] const SHCOLUMNID *pscid, [out] VARIANT *pv); - HRESULT GetDetailsOf( [in] LPCITEMIDLIST pidl, [in] UINT iColumn, [out] SHELLDETAILS *psd); + HRESULT GetDetailsEx( [in] PCUITEMID_CHILD pidl, [in] const SHCOLUMNID *pscid, [out] VARIANT *pv); + HRESULT GetDetailsOf( [in] PCUITEMID_CHILD pidl, [in] UINT iColumn, [out] SHELLDETAILS *psd); HRESULT MapColumnToSCID( [in] UINT iColumn, [in] SHCOLUMNID *pscid ); } Index: include/psdk/shtypes.idl =================================================================== --- include/psdk/shtypes.idl (revision 63837) +++ include/psdk/shtypes.idl (working copy) @@ -38,6 +38,7 @@ typedef const PITEMID_CHILD PCITEMID_CHILD; typedef LPCITEMIDLIST PCUITEMID_CHILD; typedef LPCITEMIDLIST *PCUITEMID_CHILD_ARRAY; +typedef LPITEMIDLIST PIDLIST_RELATIVE; typedef LPCITEMIDLIST PCUIDLIST_RELATIVE; typedef LPITEMIDLIST PIDLIST_ABSOLUTE; typedef LPCITEMIDLIST PCIDLIST_ABSOLUTE;