Michael Jung : shell32: Return a GUID pidl for CSIDL_PERSONAL in SHGetFolderLocation.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Feb 14 07:28:02 CST 2006


Module: wine
Branch: refs/heads/master
Commit: d7326ca7e5b0d7a912eacdeb7ba9196ca5dd9d91
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=d7326ca7e5b0d7a912eacdeb7ba9196ca5dd9d91

Author: Michael Jung <mjung at iss.tu-darmstadt.de>
Date:   Tue Feb 14 11:35:12 2006 +0100

shell32: Return a GUID pidl for CSIDL_PERSONAL in SHGetFolderLocation.
The tests (shellpath.c/testPersonal) already show that it can be either 
PT_FOLDER or PT_GUID. It's PT_GUID on WinXP.

---

 dlls/shell32/pidl.c      |    6 ++++++
 dlls/shell32/pidl.h      |    1 +
 dlls/shell32/shellpath.c |    4 ++++
 3 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/dlls/shell32/pidl.c b/dlls/shell32/pidl.c
index c4e54e0..6ec496f 100644
--- a/dlls/shell32/pidl.c
+++ b/dlls/shell32/pidl.c
@@ -1380,6 +1380,12 @@ LPITEMIDLIST _ILCreateMyComputer()
     return _ILCreateGuid(PT_GUID, &CLSID_MyComputer);
 }
 
+LPITEMIDLIST _ILCreateMyDocuments()
+{
+    TRACE("()\n");
+    return _ILCreateGuid(PT_GUID, &CLSID_MyDocuments);
+}
+
 LPITEMIDLIST _ILCreateIExplore()
 {
     TRACE("()\n");
diff --git a/dlls/shell32/pidl.h b/dlls/shell32/pidl.h
index 691aa2a..e80ceaa 100644
--- a/dlls/shell32/pidl.h
+++ b/dlls/shell32/pidl.h
@@ -240,6 +240,7 @@ HRESULT		_ILCreateFromPathW	(LPCWSTR szP
 
 /* Other helpers */
 LPITEMIDLIST	_ILCreateMyComputer	(void);
+LPITEMIDLIST	_ILCreateMyDocuments	(void);
 LPITEMIDLIST	_ILCreateIExplore	(void);
 LPITEMIDLIST	_ILCreateControlPanel	(void);
 LPITEMIDLIST	_ILCreatePrinters	(void);
diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index 4c18539..c597518 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -2223,6 +2223,10 @@ HRESULT WINAPI SHGetFolderLocation(
             *ppidl = _ILCreateDesktop();
             break;
 
+        case CSIDL_PERSONAL:
+            *ppidl = _ILCreateMyDocuments();
+            break;
+
         case CSIDL_INTERNET:
             *ppidl = _ILCreateIExplore();
             break;




More information about the wine-cvs mailing list