Louis Lenders : shell32: Add stubbed SHGetKnownFolderPath.

Alexandre Julliard julliard at winehq.org
Thu Sep 2 12:01:26 CDT 2010


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

Author: Louis Lenders <xerox_xerox2000 at yahoo.co.uk>
Date:   Thu Sep  2 13:10:44 2010 +0200

shell32: Add stubbed SHGetKnownFolderPath.

---

 dlls/shell32/shell32.spec |    1 +
 dlls/shell32/shellpath.c  |   10 ++++++++++
 include/shlobj.h          |    1 +
 include/shtypes.idl       |   12 ++++++++++++
 4 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec
index 99f9879..719fc9a 100644
--- a/dlls/shell32/shell32.spec
+++ b/dlls/shell32/shell32.spec
@@ -366,6 +366,7 @@
 @ stdcall SHGetInstanceExplorer(long)
 @ stdcall SHGetItemFromDataObject(ptr long ptr ptr)
 @ stdcall SHGetItemFromObject(ptr ptr ptr)
+@ stdcall SHGetKnownFolderPath(ptr long ptr ptr)
 @ stdcall SHGetLocalizedName(wstr ptr long ptr)
 @ stdcall SHGetMalloc(ptr)
 @ stdcall SHGetNameFromIDList(ptr long ptr)
diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index 451d6ff..6083b45 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -40,6 +40,7 @@
 #include "winuser.h"
 
 #include "shlobj.h"
+#include "shtypes.h"
 #include "shresdef.h"
 #include "shell32_main.h"
 #include "undocshell.h"
@@ -2502,3 +2503,12 @@ HRESULT WINAPI SHGetSpecialFolderLocation(
     hr = SHGetFolderLocation(hwndOwner, nFolder, NULL, 0, ppidl);
     return hr;
 }
+
+/*************************************************************************
+ * SHGetKnownFolderPath           [SHELL32.@]
+ */
+HRESULT WINAPI SHGetKnownFolderPath(REFKNOWNFOLDERID rfid, DWORD flags, HANDLE token, PWSTR *path)
+{
+    FIXME("(%s, %d, %p, %p) stub!\n", debugstr_guid(rfid), flags, token, path);
+    return E_NOTIMPL;
+}
diff --git a/include/shlobj.h b/include/shlobj.h
index 0aef3cf..cda1306 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -62,6 +62,7 @@ HRESULT      WINAPI SHGetInstanceExplorer(IUnknown**);
 HRESULT      WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
 HRESULT      WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
 #define             SHGetFolderPathAndSubDir WINELIB_NAME_AW(SHGetFolderPathAndSubDir);
+HRESULT      WINAPI SHGetKnownFolderPath(REFKNOWNFOLDERID,DWORD,HANDLE,PWSTR*);
 BOOL         WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR);
 BOOL         WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
 #define             SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
diff --git a/include/shtypes.idl b/include/shtypes.idl
index dd0c5f6..091e509 100644
--- a/include/shtypes.idl
+++ b/include/shtypes.idl
@@ -111,3 +111,15 @@ typedef [v1_enum] enum tagSHCOLSTATE
 } SHCOLSTATE;
 
 typedef DWORD SHCOLSTATEF;
+
+typedef GUID KNOWNFOLDERID;
+
+cpp_quote("#if 0")
+typedef KNOWNFOLDERID *REFKNOWNFOLDERID;
+cpp_quote("#endif")
+
+cpp_quote("#ifdef __cplusplus")
+cpp_quote("#define REFKNOWNFOLDERID const KNOWNFOLDERID &")
+cpp_quote("#else")
+cpp_quote("#define REFKNOWNFOLDERID const KNOWNFOLDERID * __MIDL_CONST")
+cpp_quote("#endif")




More information about the wine-cvs mailing list