Module: wine Branch: master Commit: dd1a47093e7577a705d64355ac01136edd90f255 URL: http://source.winehq.org/git/wine.git/?a=commit;h=dd1a47093e7577a705d64355ac...
Author: Louis Lenders xerox_xerox2000@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")