From 7ed7900c796dc1f87fc38b4940acb1ac1be715d9 Mon Sep 17 00:00:00 2001 From: Louis Lenders Date: Thu, 2 Sep 2010 13:10:44 +0200 Subject: 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 da8944a..c13c90a 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") -- 1.7.0.4