https://git.reactos.org/?p=reactos.git;a=commitdiff;h=b90c24d6408ab9fc14480b3931c0cc79661be664

commit b90c24d6408ab9fc14480b3931c0cc79661be664
Author:     Thomas Faber <[email protected]>
AuthorDate: Tue Sep 10 12:24:11 2019 +0200
Commit:     Thomas Faber <[email protected]>
CommitDate: Sun Sep 22 16:19:09 2019 +0200

    [SHELL] IPersistFolder2::GetCurFolder takes a PIDLIST_ABSOLUTE*. CORE-16385
---
 dll/shellext/ntobjshex/foldercommon.h             | 2 +-
 dll/shellext/zipfldr/CZipFolder.hpp               | 2 +-
 dll/win32/browseui/shellfind/CFindFolder.cpp      | 2 +-
 dll/win32/browseui/shellfind/CFindFolder.h        | 2 +-
 dll/win32/shell32/CDefaultContextMenu.cpp         | 2 +-
 dll/win32/shell32/folders/CAdminToolsFolder.cpp   | 2 +-
 dll/win32/shell32/folders/CAdminToolsFolder.h     | 2 +-
 dll/win32/shell32/folders/CControlPanelFolder.cpp | 2 +-
 dll/win32/shell32/folders/CControlPanelFolder.h   | 2 +-
 dll/win32/shell32/folders/CDesktopFolder.cpp      | 2 +-
 dll/win32/shell32/folders/CDesktopFolder.h        | 2 +-
 dll/win32/shell32/folders/CDrivesFolder.cpp       | 2 +-
 dll/win32/shell32/folders/CDrivesFolder.h         | 2 +-
 dll/win32/shell32/folders/CFSFolder.cpp           | 2 +-
 dll/win32/shell32/folders/CFSFolder.h             | 2 +-
 dll/win32/shell32/folders/CFontsFolder.cpp        | 2 +-
 dll/win32/shell32/folders/CFontsFolder.h          | 2 +-
 dll/win32/shell32/folders/CMyDocsFolder.cpp       | 2 +-
 dll/win32/shell32/folders/CMyDocsFolder.h         | 2 +-
 dll/win32/shell32/folders/CNetFolder.cpp          | 2 +-
 dll/win32/shell32/folders/CNetFolder.h            | 2 +-
 dll/win32/shell32/folders/CPrinterFolder.cpp      | 2 +-
 dll/win32/shell32/folders/CPrinterFolder.h        | 2 +-
 dll/win32/shell32/folders/CRecycleBin.cpp         | 2 +-
 dll/win32/shell32/folders/CRecycleBin.h           | 2 +-
 dll/win32/shell32/shellmenu/CMergedFolder.cpp     | 2 +-
 dll/win32/shell32/shellmenu/CMergedFolder.h       | 2 +-
 sdk/include/psdk/shobjidl.idl                     | 2 +-
 28 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/dll/shellext/ntobjshex/foldercommon.h 
b/dll/shellext/ntobjshex/foldercommon.h
index ce015b37b65..2780d637550 100644
--- a/dll/shellext/ntobjshex/foldercommon.h
+++ b/dll/shellext/ntobjshex/foldercommon.h
@@ -641,7 +641,7 @@ public:
     }
 
     // IPersistFolder2
-    virtual HRESULT STDMETHODCALLTYPE GetCurFolder(LPITEMIDLIST * pidl)
+    virtual HRESULT STDMETHODCALLTYPE GetCurFolder(PIDLIST_ABSOLUTE * pidl)
     {
         if (pidl)
             *pidl = ILClone(m_shellPidl);
diff --git a/dll/shellext/zipfldr/CZipFolder.hpp 
b/dll/shellext/zipfldr/CZipFolder.hpp
index b5412639355..e2407452eaf 100644
--- a/dll/shellext/zipfldr/CZipFolder.hpp
+++ b/dll/shellext/zipfldr/CZipFolder.hpp
@@ -598,7 +598,7 @@ public:
     //STDMETHODIMP GetCurFile(LPOLESTR *ppszFileName);
 
     //// *** IPersistFolder2 methods ***
-    STDMETHODIMP GetCurFolder(LPITEMIDLIST * pidl)
+    STDMETHODIMP GetCurFolder(PIDLIST_ABSOLUTE * pidl)
     {
         *pidl = ILClone(m_CurDir);
         return S_OK;
diff --git a/dll/win32/browseui/shellfind/CFindFolder.cpp 
b/dll/win32/browseui/shellfind/CFindFolder.cpp
index f29aed1bcd4..749fe927f4f 100644
--- a/dll/win32/browseui/shellfind/CFindFolder.cpp
+++ b/dll/win32/browseui/shellfind/CFindFolder.cpp
@@ -674,7 +674,7 @@ STDMETHODIMP CFindFolder::MessageSFVCB(UINT uMsg, WPARAM 
wParam, LPARAM lParam)
 }
 
 //// *** IPersistFolder2 methods ***
-STDMETHODIMP CFindFolder::GetCurFolder(LPITEMIDLIST *pidl)
+STDMETHODIMP CFindFolder::GetCurFolder(PIDLIST_ABSOLUTE *pidl)
 {
     *pidl = ILClone(m_pidl);
     return S_OK;
diff --git a/dll/win32/browseui/shellfind/CFindFolder.h 
b/dll/win32/browseui/shellfind/CFindFolder.h
index ab866161b0f..43be568b38e 100644
--- a/dll/win32/browseui/shellfind/CFindFolder.h
+++ b/dll/win32/browseui/shellfind/CFindFolder.h
@@ -73,7 +73,7 @@ private:
     static DWORD WINAPI SearchThreadProc(LPVOID lpParameter);
 
     //// *** IPersistFolder2 methods ***
-    STDMETHODIMP GetCurFolder(LPITEMIDLIST *pidl);
+    STDMETHODIMP GetCurFolder(PIDLIST_ABSOLUTE *pidl);
 
 
     // *** IPersistFolder methods ***
diff --git a/dll/win32/shell32/CDefaultContextMenu.cpp 
b/dll/win32/shell32/CDefaultContextMenu.cpp
index a65e5a05ab3..a57b5324fce 100644
--- a/dll/win32/shell32/CDefaultContextMenu.cpp
+++ b/dll/win32/shell32/CDefaultContextMenu.cpp
@@ -233,7 +233,7 @@ HRESULT WINAPI CDefaultContextMenu::Initialize(const 
DEFCONTEXTMENU *pdcm, LPFND
         CComPtr<IPersistFolder2> pf = NULL;
         if (SUCCEEDED(m_psf->QueryInterface(IID_PPV_ARG(IPersistFolder2, 
&pf))))
         {
-            if 
(FAILED(pf->GetCurFolder(reinterpret_cast<LPITEMIDLIST*>(&m_pidlFolder))))
+            if (FAILED(pf->GetCurFolder(&m_pidlFolder)))
                 ERR("GetCurFolder failed\n");
         }
         TRACE("pidlFolder %p\n", m_pidlFolder);
diff --git a/dll/win32/shell32/folders/CAdminToolsFolder.cpp 
b/dll/win32/shell32/folders/CAdminToolsFolder.cpp
index 47a6415f6a3..f461a8b57e8 100644
--- a/dll/win32/shell32/folders/CAdminToolsFolder.cpp
+++ b/dll/win32/shell32/folders/CAdminToolsFolder.cpp
@@ -180,7 +180,7 @@ HRESULT WINAPI CAdminToolsFolder::Initialize(LPCITEMIDLIST 
pidl)
                                   IID_PPV_ARG(IShellFolder2, &m_pisfInner));
 }
 
-HRESULT WINAPI CAdminToolsFolder::GetCurFolder(LPITEMIDLIST *pidl)
+HRESULT WINAPI CAdminToolsFolder::GetCurFolder(PIDLIST_ABSOLUTE *pidl)
 {
     if (!pidl)
         return E_POINTER;
diff --git a/dll/win32/shell32/folders/CAdminToolsFolder.h 
b/dll/win32/shell32/folders/CAdminToolsFolder.h
index f6cd79a2fe4..25478f0a883 100644
--- a/dll/win32/shell32/folders/CAdminToolsFolder.h
+++ b/dll/win32/shell32/folders/CAdminToolsFolder.h
@@ -63,7 +63,7 @@ class CAdminToolsFolder :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // IPersistFolder2
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
         DECLARE_REGISTRY_RESOURCEID(IDR_ADMINFOLDERSHORTCUT)
         DECLARE_NOT_AGGREGATABLE(CAdminToolsFolder)
diff --git a/dll/win32/shell32/folders/CControlPanelFolder.cpp 
b/dll/win32/shell32/folders/CControlPanelFolder.cpp
index 8dc2fbb5379..2782ad85a8d 100644
--- a/dll/win32/shell32/folders/CControlPanelFolder.cpp
+++ b/dll/win32/shell32/folders/CControlPanelFolder.cpp
@@ -638,7 +638,7 @@ HRESULT WINAPI 
CControlPanelFolder::Initialize(LPCITEMIDLIST pidl)
 /**************************************************************************
  *    CControlPanelFolder::GetCurFolder
  */
-HRESULT WINAPI CControlPanelFolder::GetCurFolder(LPITEMIDLIST * pidl)
+HRESULT WINAPI CControlPanelFolder::GetCurFolder(PIDLIST_ABSOLUTE * pidl)
 {
     TRACE("(%p)->(%p)\n", this, pidl);
 
diff --git a/dll/win32/shell32/folders/CControlPanelFolder.h 
b/dll/win32/shell32/folders/CControlPanelFolder.h
index a4966a3569f..e3ced8697e5 100644
--- a/dll/win32/shell32/folders/CControlPanelFolder.h
+++ b/dll/win32/shell32/folders/CControlPanelFolder.h
@@ -68,7 +68,7 @@ class CControlPanelFolder :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // IPersistFolder2
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
         DECLARE_REGISTRY_RESOURCEID(IDR_CONTROLPANEL)
         DECLARE_NOT_AGGREGATABLE(CControlPanelFolder)
diff --git a/dll/win32/shell32/folders/CDesktopFolder.cpp 
b/dll/win32/shell32/folders/CDesktopFolder.cpp
index 277499fbc41..ab34e0c9ae8 100644
--- a/dll/win32/shell32/folders/CDesktopFolder.cpp
+++ b/dll/win32/shell32/folders/CDesktopFolder.cpp
@@ -825,7 +825,7 @@ HRESULT WINAPI CDesktopFolder::Initialize(LPCITEMIDLIST 
pidl)
     return E_INVALIDARG;
 }
 
-HRESULT WINAPI CDesktopFolder::GetCurFolder(LPITEMIDLIST * pidl)
+HRESULT WINAPI CDesktopFolder::GetCurFolder(PIDLIST_ABSOLUTE * pidl)
 {
     TRACE ("(%p)->(%p)\n", this, pidl);
 
diff --git a/dll/win32/shell32/folders/CDesktopFolder.h 
b/dll/win32/shell32/folders/CDesktopFolder.h
index 76ee35fbf3b..90de48f619b 100644
--- a/dll/win32/shell32/folders/CDesktopFolder.h
+++ b/dll/win32/shell32/folders/CDesktopFolder.h
@@ -74,7 +74,7 @@ class CDesktopFolder :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // *** IPersistFolder2 methods ***
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
         // IContextMenuCB
         virtual HRESULT WINAPI CallBack(IShellFolder *psf, HWND hwndOwner, 
IDataObject *pdtobj, UINT uMsg, WPARAM wParam, LPARAM lParam);
diff --git a/dll/win32/shell32/folders/CDrivesFolder.cpp 
b/dll/win32/shell32/folders/CDrivesFolder.cpp
index 17542eeea41..0f8810c066a 100644
--- a/dll/win32/shell32/folders/CDrivesFolder.cpp
+++ b/dll/win32/shell32/folders/CDrivesFolder.cpp
@@ -1062,7 +1062,7 @@ HRESULT WINAPI CDrivesFolder::Initialize(LPCITEMIDLIST 
pidl)
 /**************************************************************************
  *    CDrivesFolder::GetCurFolder
  */
-HRESULT WINAPI CDrivesFolder::GetCurFolder(LPITEMIDLIST *pidl)
+HRESULT WINAPI CDrivesFolder::GetCurFolder(PIDLIST_ABSOLUTE *pidl)
 {
     TRACE("(%p)->(%p)\n", this, pidl);
 
diff --git a/dll/win32/shell32/folders/CDrivesFolder.h 
b/dll/win32/shell32/folders/CDrivesFolder.h
index f83057d79dc..8d37ac216fe 100644
--- a/dll/win32/shell32/folders/CDrivesFolder.h
+++ b/dll/win32/shell32/folders/CDrivesFolder.h
@@ -68,7 +68,7 @@ class CDrivesFolder :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // IPersistFolder2
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
         // IContextMenuCB
         virtual HRESULT WINAPI CallBack(IShellFolder *psf, HWND hwndOwner, 
IDataObject *pdtobj, UINT uMsg, WPARAM wParam, LPARAM lParam);
diff --git a/dll/win32/shell32/folders/CFSFolder.cpp 
b/dll/win32/shell32/folders/CFSFolder.cpp
index 4ce2a2babe1..c475c2cf098 100644
--- a/dll/win32/shell32/folders/CFSFolder.cpp
+++ b/dll/win32/shell32/folders/CFSFolder.cpp
@@ -1398,7 +1398,7 @@ HRESULT WINAPI CFSFolder::Initialize(LPCITEMIDLIST pidl)
 /**************************************************************************
  * CFSFolder::GetCurFolder
  */
-HRESULT WINAPI CFSFolder::GetCurFolder(LPITEMIDLIST * pidl)
+HRESULT WINAPI CFSFolder::GetCurFolder(PIDLIST_ABSOLUTE * pidl)
 {
     TRACE ("(%p)->(%p)\n", this, pidl);
 
diff --git a/dll/win32/shell32/folders/CFSFolder.h 
b/dll/win32/shell32/folders/CFSFolder.h
index 947ec92222d..11276c7ec6a 100644
--- a/dll/win32/shell32/folders/CFSFolder.h
+++ b/dll/win32/shell32/folders/CFSFolder.h
@@ -76,7 +76,7 @@ class CFSFolder :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // IPersistFolder2
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
         // IPersistFolder3
         virtual HRESULT WINAPI InitializeEx(IBindCtx *pbc, LPCITEMIDLIST 
pidlRoot, const PERSIST_FOLDER_TARGET_INFO *ppfti);
diff --git a/dll/win32/shell32/folders/CFontsFolder.cpp 
b/dll/win32/shell32/folders/CFontsFolder.cpp
index 3b9a3d83434..355354cec20 100644
--- a/dll/win32/shell32/folders/CFontsFolder.cpp
+++ b/dll/win32/shell32/folders/CFontsFolder.cpp
@@ -181,7 +181,7 @@ HRESULT WINAPI CFontsFolder::Initialize(LPCITEMIDLIST pidl)
                                   IID_PPV_ARG(IShellFolder2, &m_pisfInner));
 }
 
-HRESULT WINAPI CFontsFolder::GetCurFolder(LPITEMIDLIST *pidl)
+HRESULT WINAPI CFontsFolder::GetCurFolder(PIDLIST_ABSOLUTE *pidl)
 {
     if (!pidl)
         return E_POINTER;
diff --git a/dll/win32/shell32/folders/CFontsFolder.h 
b/dll/win32/shell32/folders/CFontsFolder.h
index e3b9205187c..0229485514d 100644
--- a/dll/win32/shell32/folders/CFontsFolder.h
+++ b/dll/win32/shell32/folders/CFontsFolder.h
@@ -63,7 +63,7 @@ class CFontsFolder :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // IPersistFolder2
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST *pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE *pidl);
 
         DECLARE_REGISTRY_RESOURCEID(IDR_FONTSFOLDERSHORTCUT)
         DECLARE_NOT_AGGREGATABLE(CFontsFolder)
diff --git a/dll/win32/shell32/folders/CMyDocsFolder.cpp 
b/dll/win32/shell32/folders/CMyDocsFolder.cpp
index f27448d811f..8c28b6711eb 100644
--- a/dll/win32/shell32/folders/CMyDocsFolder.cpp
+++ b/dll/win32/shell32/folders/CMyDocsFolder.cpp
@@ -180,7 +180,7 @@ HRESULT WINAPI CMyDocsFolder::Initialize(LPCITEMIDLIST pidl)
                                   IID_PPV_ARG(IShellFolder2, &m_pisfInner));
 }
 
-HRESULT WINAPI CMyDocsFolder::GetCurFolder(LPITEMIDLIST *pidl)
+HRESULT WINAPI CMyDocsFolder::GetCurFolder(PIDLIST_ABSOLUTE *pidl)
 {
     if (!pidl)
         return E_POINTER;
diff --git a/dll/win32/shell32/folders/CMyDocsFolder.h 
b/dll/win32/shell32/folders/CMyDocsFolder.h
index b689a6719f2..7c0e521ccd9 100644
--- a/dll/win32/shell32/folders/CMyDocsFolder.h
+++ b/dll/win32/shell32/folders/CMyDocsFolder.h
@@ -63,7 +63,7 @@ class CMyDocsFolder :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // IPersistFolder2
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
         DECLARE_REGISTRY_RESOURCEID(IDR_MYDOCUMENTS)
         DECLARE_NOT_AGGREGATABLE(CMyDocsFolder)
diff --git a/dll/win32/shell32/folders/CNetFolder.cpp 
b/dll/win32/shell32/folders/CNetFolder.cpp
index 35e2ef7eb77..a2384b1117b 100644
--- a/dll/win32/shell32/folders/CNetFolder.cpp
+++ b/dll/win32/shell32/folders/CNetFolder.cpp
@@ -583,7 +583,7 @@ HRESULT WINAPI CNetFolder::Initialize(LPCITEMIDLIST pidl)
 /**************************************************************************
  *    CNetFolder::GetCurFolder
  */
-HRESULT WINAPI CNetFolder::GetCurFolder(LPITEMIDLIST *pidl)
+HRESULT WINAPI CNetFolder::GetCurFolder(PIDLIST_ABSOLUTE *pidl)
 {
     TRACE("(%p)->(%p)\n", this, pidl);
 
diff --git a/dll/win32/shell32/folders/CNetFolder.h 
b/dll/win32/shell32/folders/CNetFolder.h
index 33f65bf3191..7a540db92d3 100644
--- a/dll/win32/shell32/folders/CNetFolder.h
+++ b/dll/win32/shell32/folders/CNetFolder.h
@@ -65,7 +65,7 @@ class CNetFolder :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // IPersistFolder2
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
         DECLARE_REGISTRY_RESOURCEID(IDR_NETWORKPLACES)
         DECLARE_NOT_AGGREGATABLE(CNetFolder)
diff --git a/dll/win32/shell32/folders/CPrinterFolder.cpp 
b/dll/win32/shell32/folders/CPrinterFolder.cpp
index 85a89680f00..69565afb6a7 100644
--- a/dll/win32/shell32/folders/CPrinterFolder.cpp
+++ b/dll/win32/shell32/folders/CPrinterFolder.cpp
@@ -491,7 +491,7 @@ HRESULT WINAPI CPrinterFolder::Initialize(LPCITEMIDLIST 
pidl)
 /**************************************************************************
  *    CPrinterFolder::GetCurFolder
  */
-HRESULT WINAPI CPrinterFolder::GetCurFolder(LPITEMIDLIST * pidl)
+HRESULT WINAPI CPrinterFolder::GetCurFolder(PIDLIST_ABSOLUTE * pidl)
 {
     TRACE ("(%p)->(%p)\n", this, pidl);
 
diff --git a/dll/win32/shell32/folders/CPrinterFolder.h 
b/dll/win32/shell32/folders/CPrinterFolder.h
index 699338079ef..5ba34082afb 100644
--- a/dll/win32/shell32/folders/CPrinterFolder.h
+++ b/dll/win32/shell32/folders/CPrinterFolder.h
@@ -68,7 +68,7 @@ class CPrinterFolder :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // IPersistFolder2
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
         DECLARE_REGISTRY_RESOURCEID(IDR_PRINTERS)
         DECLARE_NOT_AGGREGATABLE(CPrinterFolder)
diff --git a/dll/win32/shell32/folders/CRecycleBin.cpp 
b/dll/win32/shell32/folders/CRecycleBin.cpp
index e2198897fdc..5a6b72bab7f 100644
--- a/dll/win32/shell32/folders/CRecycleBin.cpp
+++ b/dll/win32/shell32/folders/CRecycleBin.cpp
@@ -443,7 +443,7 @@ HRESULT WINAPI CRecycleBin::Initialize(LPCITEMIDLIST pidl)
     return S_OK;
 }
 
-HRESULT WINAPI CRecycleBin::GetCurFolder(LPITEMIDLIST *ppidl)
+HRESULT WINAPI CRecycleBin::GetCurFolder(PIDLIST_ABSOLUTE *ppidl)
 {
     TRACE("\n");
     *ppidl = ILClone(pidl);
diff --git a/dll/win32/shell32/folders/CRecycleBin.h 
b/dll/win32/shell32/folders/CRecycleBin.h
index 1f3ea7bc784..de62270dfdf 100644
--- a/dll/win32/shell32/folders/CRecycleBin.h
+++ b/dll/win32/shell32/folders/CRecycleBin.h
@@ -49,7 +49,7 @@ class CRecycleBin :
         virtual HRESULT WINAPI Initialize(LPCITEMIDLIST pidl);
 
         // IPersistFolder2
-        virtual HRESULT WINAPI GetCurFolder(LPITEMIDLIST * pidl);
+        virtual HRESULT WINAPI GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
         // IShellFolder
         virtual HRESULT WINAPI ParseDisplayName(HWND hwndOwner, LPBC pbc, 
LPOLESTR lpszDisplayName, DWORD *pchEaten, PIDLIST_RELATIVE *ppidl, DWORD 
*pdwAttributes);
diff --git a/dll/win32/shell32/shellmenu/CMergedFolder.cpp 
b/dll/win32/shell32/shellmenu/CMergedFolder.cpp
index 892c5011a7a..04a2fd4a49b 100644
--- a/dll/win32/shell32/shellmenu/CMergedFolder.cpp
+++ b/dll/win32/shell32/shellmenu/CMergedFolder.cpp
@@ -704,7 +704,7 @@ HRESULT STDMETHODCALLTYPE 
CMergedFolder::Initialize(LPCITEMIDLIST pidl)
 }
 
 // IPersistFolder2
-HRESULT STDMETHODCALLTYPE CMergedFolder::GetCurFolder(LPITEMIDLIST * pidl)
+HRESULT STDMETHODCALLTYPE CMergedFolder::GetCurFolder(PIDLIST_ABSOLUTE * pidl)
 {
     if (pidl)
         *pidl = m_shellPidl;
diff --git a/dll/win32/shell32/shellmenu/CMergedFolder.h 
b/dll/win32/shell32/shellmenu/CMergedFolder.h
index ae0ab3e28c5..c4c10acb440 100644
--- a/dll/win32/shell32/shellmenu/CMergedFolder.h
+++ b/dll/win32/shell32/shellmenu/CMergedFolder.h
@@ -194,7 +194,7 @@ public:
     virtual HRESULT STDMETHODCALLTYPE Initialize(LPCITEMIDLIST pidl);
 
     // IPersistFolder2
-    virtual HRESULT STDMETHODCALLTYPE GetCurFolder(LPITEMIDLIST * pidl);
+    virtual HRESULT STDMETHODCALLTYPE GetCurFolder(PIDLIST_ABSOLUTE * pidl);
 
     // IAugmentedShellFolder2
     virtual HRESULT STDMETHODCALLTYPE AddNameSpace(LPGUID lpGuid, IShellFolder 
* psf, LPCITEMIDLIST pcidl, ULONG dwUnknown);
diff --git a/sdk/include/psdk/shobjidl.idl b/sdk/include/psdk/shobjidl.idl
index cd5374357cb..7c2aab3d51e 100644
--- a/sdk/include/psdk/shobjidl.idl
+++ b/sdk/include/psdk/shobjidl.idl
@@ -69,7 +69,7 @@ interface IPersistFolder2 : IPersistFolder
 {
     typedef IPersistFolder2 *LPPERSISTFOLDER2;
 
-    HRESULT GetCurFolder( [out] LPITEMIDLIST *ppidl );
+    HRESULT GetCurFolder( [out] PIDLIST_ABSOLUTE *ppidl );
 }
 
 

Reply via email to