From e4a01dbd1c4226b4eb75be263a1231bafd5a807b Mon Sep 17 00:00:00 2001 From: Thomas Bluemel Date: Fri, 19 Jan 2007 18:30:53 +0000 Subject: [PATCH] Merge patch from wine-head: Fixes function prototypes of SHAddFromPropSheetExtArray, SHCreatePropSheetExtArray, SHReplaceFromPropSheetExtArray and SHDestroyPropSheetExtArray svn path=/trunk/; revision=25535 --- reactos/dll/win32/shell32/shellord.c | 19 +++++++++--------- reactos/include/psdk/shlobj.h | 30 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 10 deletions(-) diff --git a/reactos/dll/win32/shell32/shellord.c b/reactos/dll/win32/shell32/shellord.c index d0e0da79c56..a8886983763 100644 --- a/reactos/dll/win32/shell32/shellord.c +++ b/reactos/dll/win32/shell32/shellord.c @@ -1461,37 +1461,36 @@ DWORD WINAPI SHELL32_714(LPVOID x) /************************************************************************* * SHAddFromPropSheetExtArray [SHELL32.167] */ -DWORD WINAPI SHAddFromPropSheetExtArray(DWORD a, DWORD b, DWORD c) +UINT WINAPI SHAddFromPropSheetExtArray(HPSXA hpsxa, LPFNADDPROPSHEETPAGE lpfnAddPage, LPARAM lParam) { - FIXME("(%08lx,%08lx,%08lx)stub\n", a, b, c); + FIXME("(%p,%p,%08lx)stub\n", hpsxa, lpfnAddPage, lParam); return 0; } /************************************************************************* * SHCreatePropSheetExtArray [SHELL32.168] */ -DWORD WINAPI SHCreatePropSheetExtArray(DWORD a, LPCSTR b, DWORD c) +HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface) { - FIXME("(%08lx,%s,%08lx)stub\n", a, debugstr_a(b), c); - return 0; + FIXME("(%p,%s,%u)stub\n", hKey, debugstr_w(pszSubKey), max_iface); + return NULL; } /************************************************************************* * SHReplaceFromPropSheetExtArray [SHELL32.170] */ -DWORD WINAPI SHReplaceFromPropSheetExtArray(DWORD a, DWORD b, DWORD c, DWORD d) +UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA hpsxa, UINT uPageID, LPFNADDPROPSHEETPAGE lpfnReplaceWith, LPARAM lParam) { - FIXME("(%08lx,%08lx,%08lx,%08lx)stub\n", a, b, c, d); + FIXME("(%p,%u,%p,%08lx)stub\n", hpsxa, uPageID, lpfnReplaceWith, lParam); return 0; } /************************************************************************* * SHDestroyPropSheetExtArray [SHELL32.169] */ -DWORD WINAPI SHDestroyPropSheetExtArray(DWORD a) +void WINAPI SHDestroyPropSheetExtArray(HPSXA hpsxa) { - FIXME("(%08lx)stub\n", a); - return 0; + FIXME("(%p)stub\n", hpsxa); } /************************************************************************* diff --git a/reactos/include/psdk/shlobj.h b/reactos/include/psdk/shlobj.h index f77f36501a4..0700f1fdc8e 100644 --- a/reactos/include/psdk/shlobj.h +++ b/reactos/include/psdk/shlobj.h @@ -431,6 +431,11 @@ extern "C" { typedef ULONG SFGAOF; typedef DWORD SHGDNF; +#ifndef HPSXA_DEFINED +#define HPSXA_DEFINED +DECLARE_HANDLE(HPSXA); +#endif + typedef struct _IDA { UINT cidl; UINT aoffset[1]; @@ -994,6 +999,15 @@ DECLARE_INTERFACE_(IShellExtInit, IUnknown) #undef INTERFACE typedef IShellExtInit *LPSHELLEXTINIT; +#if defined(COBJMACROS) +/*** IUnknown methods ***/ +#define IShellExtInit_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IShellExtInit_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IShellExtInit_Release(p) (p)->lpVtbl->Release(p) +/*** IShellExtInit methods ***/ +#define IShellExtInit_Initialize(p,a,b,c) (p)->lpVtbl->Initialize(p,a,b,c) +#endif + #define INTERFACE IShellPropSheetExt DECLARE_INTERFACE_(IShellPropSheetExt, IUnknown) { @@ -1006,6 +1020,17 @@ DECLARE_INTERFACE_(IShellPropSheetExt, IUnknown) #undef INTERFACE typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; +#if defined(COBJMACROS) +/*** IUnknown methods ***/ +#define IShellPropSheetExt_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b) +#define IShellPropSheetExt_AddRef(p) (p)->lpVtbl->AddRef(p) +#define IShellPropSheetExt_Release(p) (p)->lpVtbl->Release(p) +/*** IShellPropSheetExt methods ***/ +#define IShellPropSheetExt_AddPage(p,a,b) (p)->lpVtbl->AddPage(p,a,b) +#define IShellPropSheetExt_ReplacePage(p,a,b,c) (p)->lpVtbl->ReplacePage(p,a,b,c) +#endif + + #define INTERFACE IExtractIconA DECLARE_INTERFACE_(IExtractIconA, IUnknown) { @@ -1855,14 +1880,18 @@ typedef struct _SFV_CREATE IShellFolderViewCB *psfvcb; } SFV_CREATE; + +UINT WINAPI SHAddFromPropSheetExtArray(HPSXA,LPFNADDPROPSHEETPAGE,LPARAM); void WINAPI SHAddToRecentDocs(UINT,PCVOID); LPITEMIDLIST WINAPI SHBrowseForFolderA(PBROWSEINFOA); LPITEMIDLIST WINAPI SHBrowseForFolderW(PBROWSEINFOW); DWORD WINAPI SHCLSIDFromStringA(LPCSTR,CLSID*); DWORD WINAPI SHCLSIDFromStringW(LPCWSTR,CLSID*); +HPSXA WINAPI SHCreatePropSheetExtArray(HKEY,LPCWSTR,UINT); HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE*,IShellView**); HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv); void WINAPI SHChangeNotify(LONG,UINT,PCVOID,PCVOID); +void WINAPI SHDestroyPropSheetExtArray(HPSXA); HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER,LPCITEMIDLIST,int,PVOID,int); HRESULT WINAPI SHGetDesktopFolder(LPSHELLFOLDER*); @@ -1895,6 +1924,7 @@ void WINAPI SHGetSettings(LPSHELLFLAGSTATE,DWORD); #if (_WIN32_WINNT >= 0x0500) /* W2K */ void WINAPI SHGetSetSettings(LPSHELLSTATE,DWORD,BOOL); #endif +UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA,UINT,LPFNADDPROPSHEETPAGE,LPARAM); #if (_WIN32_WINNT >= 0x0500) /* W2K */ BOOL WINAPI ILIsEqual(LPCITEMIDLIST, LPCITEMIDLIST);