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