diff --git a/reactos/dll/win32/shell32/CDefView.cpp b/reactos/dll/win32/shell32/CDefView.cpp index 3b3ad246c55..84c718acecf 100644 --- a/reactos/dll/win32/shell32/CDefView.cpp +++ b/reactos/dll/win32/shell32/CDefView.cpp @@ -92,7 +92,7 @@ class CDefView : BOOL m_menusLoaded; UINT m_uState; UINT m_cidl; - PCUITEMID_CHILD_ARRAY m_apidl; + PCUITEMID_CHILD *m_apidl; PIDLIST_ABSOLUTE m_pidlParent; LISTVIEW_SORT_INFO m_sortInfo; ULONG m_hNotify; /* change notification handle */ @@ -1227,7 +1227,7 @@ UINT CDefView::GetSelections() SHFree(m_apidl); m_cidl = m_ListView.GetSelectedCount(); - m_apidl = reinterpret_cast(SHAlloc(m_cidl * sizeof(PCUITEMID_CHILD))); + m_apidl = static_cast(SHAlloc(m_cidl * sizeof(PCUITEMID_CHILD))); if (!m_apidl) { m_cidl = 0; diff --git a/reactos/dll/win32/shell32/CDefaultContextMenu.cpp b/reactos/dll/win32/shell32/CDefaultContextMenu.cpp index d2d9db2f2b4..edfbb402a0e 100644 --- a/reactos/dll/win32/shell32/CDefaultContextMenu.cpp +++ b/reactos/dll/win32/shell32/CDefaultContextMenu.cpp @@ -1746,10 +1746,10 @@ SHCreateDefaultContextMenu( HRESULT WINAPI CDefFolderMenu_Create2( - LPCITEMIDLIST pidlFolder, + PCIDLIST_ABSOLUTE pidlFolder, HWND hwnd, UINT cidl, - LPCITEMIDLIST *apidl, + PCUITEMID_CHILD_ARRAY apidl, IShellFolder *psf, LPFNDFMCALLBACK lpfn, UINT nKeys, diff --git a/reactos/dll/win32/shell32/CIDLDataObj.cpp b/reactos/dll/win32/shell32/CIDLDataObj.cpp index 02dacae6e8e..b11e65af4c7 100644 --- a/reactos/dll/win32/shell32/CIDLDataObj.cpp +++ b/reactos/dll/win32/shell32/CIDLDataObj.cpp @@ -147,7 +147,7 @@ class CIDLDataObj : { private: LPITEMIDLIST pidl; - LPITEMIDLIST * apidl; + PIDLIST_RELATIVE *apidl; UINT cidl; DWORD dropeffect; @@ -160,7 +160,7 @@ private: public: CIDLDataObj(); ~CIDLDataObj(); - HRESULT WINAPI Initialize(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidlx, UINT cidlx); + HRESULT WINAPI Initialize(HWND hwndOwner, PCIDLIST_ABSOLUTE pMyPidl, PCUIDLIST_RELATIVE_ARRAY apidlx, UINT cidlx); /////////// virtual HRESULT WINAPI GetData(LPFORMATETC pformatetcIn, STGMEDIUM *pmedium); @@ -204,7 +204,7 @@ CIDLDataObj::~CIDLDataObj() ILFree(pidl); } -HRESULT WINAPI CIDLDataObj::Initialize(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidlx, UINT cidlx) +HRESULT WINAPI CIDLDataObj::Initialize(HWND hwndOwner, PCIDLIST_ABSOLUTE pMyPidl, PCUIDLIST_RELATIVE_ARRAY apidlx, UINT cidlx) { pidl = ILClone(pMyPidl); apidl = _ILCopyaPidl(apidlx, cidlx); @@ -408,7 +408,7 @@ HRESULT WINAPI CIDLDataObj::EndOperation(HRESULT hResult, IBindCtx *pbcReserved, /************************************************************************** * IDataObject_Constructor */ -HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidl, UINT cidl, IDataObject **dataObject) +HRESULT IDataObject_Constructor(HWND hwndOwner, PCIDLIST_ABSOLUTE pMyPidl, PCUIDLIST_RELATIVE_ARRAY apidl, UINT cidl, IDataObject **dataObject) { return ShellObjectCreatorInit(hwndOwner, pMyPidl, apidl, cidl, IID_IDataObject, dataObject); } @@ -418,7 +418,7 @@ HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMID * */ -HRESULT WINAPI SHCreateDataObject(LPCITEMIDLIST pidlFolder, UINT cidl, LPCITEMIDLIST* apidl, IDataObject *pdtInner, REFIID riid, void **ppv) +HRESULT WINAPI SHCreateDataObject(PCIDLIST_ABSOLUTE pidlFolder, UINT cidl, PCUITEMID_CHILD_ARRAY apidl, IDataObject *pdtInner, REFIID riid, void **ppv) { if (IsEqualIID(riid, IID_IDataObject)) { diff --git a/reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp b/reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp index 8b4d2f3fda9..59a4561d9d4 100644 --- a/reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp +++ b/reactos/dll/win32/shell32/folders/CControlPanelFolder.cpp @@ -673,7 +673,7 @@ CCPLItemMenu::CCPLItemMenu() HRESULT WINAPI CCPLItemMenu::Initialize(UINT cidl, PCUITEMID_CHILD_ARRAY apidl) { m_cidl = cidl; - m_apidl = const_cast(_ILCopyaPidl(apidl, m_cidl)); + m_apidl = _ILCopyaPidl(apidl, m_cidl); if (m_cidl && !m_apidl) return E_OUTOFMEMORY; @@ -682,7 +682,7 @@ HRESULT WINAPI CCPLItemMenu::Initialize(UINT cidl, PCUITEMID_CHILD_ARRAY apidl) CCPLItemMenu::~CCPLItemMenu() { - _ILFreeaPidl(const_cast(m_apidl), m_cidl); + _ILFreeaPidl(m_apidl, m_cidl); } HRESULT WINAPI CCPLItemMenu::QueryContextMenu( diff --git a/reactos/dll/win32/shell32/folders/CControlPanelFolder.h b/reactos/dll/win32/shell32/folders/CControlPanelFolder.h index 89b79ac92ee..2e2ec0ec3db 100644 --- a/reactos/dll/win32/shell32/folders/CControlPanelFolder.h +++ b/reactos/dll/win32/shell32/folders/CControlPanelFolder.h @@ -89,7 +89,7 @@ class CCPLItemMenu: public IContextMenu2 { private: - LPCITEMIDLIST *m_apidl; + PITEMID_CHILD *m_apidl; UINT m_cidl; public: diff --git a/reactos/dll/win32/shell32/wine/pidl.c b/reactos/dll/win32/shell32/wine/pidl.c index 4ccf2b0fd90..eb2eb0db8bf 100644 --- a/reactos/dll/win32/shell32/wine/pidl.c +++ b/reactos/dll/win32/shell32/wine/pidl.c @@ -2597,15 +2597,15 @@ void _ILFreeaPidl(LPITEMIDLIST * apidl, UINT cidl) * * copies an aPidl struct */ -LPITEMIDLIST* _ILCopyaPidl(const LPCITEMIDLIST * apidlsrc, UINT cidl) +PITEMID_CHILD* _ILCopyaPidl(PCUITEMID_CHILD_ARRAY apidlsrc, UINT cidl) { UINT i; - LPITEMIDLIST *apidldest; + PITEMID_CHILD *apidldest; if (!apidlsrc) return NULL; - apidldest = SHAlloc(cidl * sizeof(LPITEMIDLIST)); + apidldest = SHAlloc(cidl * sizeof(PITEMID_CHILD)); for (i = 0; i < cidl; i++) apidldest[i] = ILClone(apidlsrc[i]); diff --git a/reactos/dll/win32/shell32/wine/pidl.h b/reactos/dll/win32/shell32/wine/pidl.h index 8fb148b986d..7e8c5200df9 100644 --- a/reactos/dll/win32/shell32/wine/pidl.h +++ b/reactos/dll/win32/shell32/wine/pidl.h @@ -306,7 +306,7 @@ BOOL pcheck (LPCITEMIDLIST pidl) DECLSPEC_HIDDEN; * aPidl helper */ void _ILFreeaPidl(LPITEMIDLIST * apidl, UINT cidl) DECLSPEC_HIDDEN; -LPITEMIDLIST * _ILCopyaPidl(const LPCITEMIDLIST * apidlsrc, UINT cidl) DECLSPEC_HIDDEN; +PITEMID_CHILD* _ILCopyaPidl(PCUITEMID_CHILD_ARRAY apidlsrc, UINT cidl) DECLSPEC_HIDDEN; LPITEMIDLIST * _ILCopyCidaToaPidl(LPITEMIDLIST* pidl, const CIDA * cida) DECLSPEC_HIDDEN; BOOL ILGetDisplayNameExW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, LPWSTR path, DWORD type) DECLSPEC_HIDDEN; diff --git a/reactos/dll/win32/shell32/wine/shell32_main.h b/reactos/dll/win32/shell32/wine/shell32_main.h index 84d2436d027..c3c0c06471a 100644 --- a/reactos/dll/win32/shell32/wine/shell32_main.h +++ b/reactos/dll/win32/shell32/wine/shell32_main.h @@ -61,7 +61,7 @@ DWORD WINAPI ParseFieldW(LPCWSTR src, DWORD nField, LPWSTR dst, DWORD len) DECLS /**************************************************************************** * Class constructors */ -HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, LPCITEMIDLIST * apidl, UINT cidl, IDataObject **dataObject); +HRESULT IDataObject_Constructor(HWND hwndOwner, LPCITEMIDLIST pMyPidl, PCUITEMID_CHILD_ARRAY apidl, UINT cidl, IDataObject **dataObject); HRESULT IEnumFORMATETC_Constructor(UINT cfmt, const FORMATETC afmt[], IEnumFORMATETC **enumerator); LPCLASSFACTORY IClassFactory_Constructor(REFCLSID); diff --git a/reactos/dll/win32/shell32/wine/shellord.c b/reactos/dll/win32/shell32/wine/shellord.c index fe238fd1717..c4f63e4be4a 100644 --- a/reactos/dll/win32/shell32/wine/shellord.c +++ b/reactos/dll/win32/shell32/wine/shellord.c @@ -1837,9 +1837,9 @@ void WINAPI SHDestroyPropSheetExtArray(HPSXA hpsxa) * Create IDataObject from PIDLs?? */ HRESULT WINAPI CIDLData_CreateFromIDArray( - LPCITEMIDLIST pidlFolder, + PCIDLIST_ABSOLUTE pidlFolder, UINT cpidlFiles, - LPCITEMIDLIST *lppidlFiles, + PCUIDLIST_RELATIVE_ARRAY lppidlFiles, LPDATAOBJECT *ppdataObject) { UINT i;