Thomas Weidenmueller : shell32: Implement SHCreatePropSheetExtArrayEx.
Alexandre Julliard
julliard at winehq.org
Wed Sep 26 07:46:17 CDT 2007
Module: wine
Branch: master
Commit: 1244e8c7d4f433345e9a3ad5e285044ec61673d3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1244e8c7d4f433345e9a3ad5e285044ec61673d3
Author: Thomas Weidenmueller <wine-patches at reactsoft.com>
Date: Tue Sep 25 11:58:40 2007 -0600
shell32: Implement SHCreatePropSheetExtArrayEx.
---
dlls/shell32/shell32.spec | 4 ++--
dlls/shell32/shellord.c | 10 +++++++++-
include/shlobj.h | 1 +
3 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/dlls/shell32/shell32.spec b/dlls/shell32/shell32.spec
index 9beb6d3..6928538 100644
--- a/dlls/shell32/shell32.spec
+++ b/dlls/shell32/shell32.spec
@@ -156,7 +156,7 @@
165 stdcall -noname SHCreateDirectory(long ptr)
166 stdcall -noname CallCPLEntry16(long long long long long long)
167 stdcall -noname SHAddFromPropSheetExtArray(long long long)
- 168 stdcall -noname SHCreatePropSheetExtArray(long str long)
+ 168 stdcall -noname SHCreatePropSheetExtArray(long wstr long)
169 stdcall -noname SHDestroyPropSheetExtArray(long)
170 stdcall -noname SHReplaceFromPropSheetExtArray(long long long long)
171 stdcall -noname PathCleanupSpec(ptr ptr)
@@ -182,7 +182,7 @@
191 stdcall -noname SHUpdateImageA(str long long long)
192 stdcall -noname SHUpdateImageW(wstr long long long)
193 stdcall -noname SHHandleUpdateImage(ptr)
- 194 stub SHCreatePropSheetExtArrayEx
+ 194 stdcall -noname SHCreatePropSheetExtArrayEx(long wstr long ptr)
195 stdcall -noname SHFree(ptr)
196 stdcall -noname SHAlloc(long)
197 stub SHGlobalDefect
diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c
index 52c2934..e3b77cf 100644
--- a/dlls/shell32/shellord.c
+++ b/dlls/shell32/shellord.c
@@ -1588,6 +1588,14 @@ UINT WINAPI SHAddFromPropSheetExtArray(HPSXA hpsxa, LPFNADDPROPSHEETPAGE lpfnAdd
*/
HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface)
{
+ return SHCreatePropSheetExtArrayEx(hKey, pszSubKey, max_iface, NULL);
+}
+
+/*************************************************************************
+ * SHCreatePropSheetExtArrayEx [SHELL32.194]
+ */
+HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY hKey, LPCWSTR pszSubKey, UINT max_iface, IDataObject *pDataObj)
+{
static const WCHAR szPropSheetSubKey[] = {'s','h','e','l','l','e','x','\\','P','r','o','p','e','r','t','y','S','h','e','e','t','H','a','n','d','l','e','r','s',0};
WCHAR szHandler[64];
DWORD dwHandlerLen;
@@ -1652,7 +1660,7 @@ HPSXA WINAPI SHCreatePropSheetExtArray(HKEY hKey, LPCWSTR pszSubKey, UINT max_if
{
if (SUCCEEDED(pspsx->lpVtbl->QueryInterface(pspsx, &IID_IShellExtInit, (PVOID *)&psxi)))
{
- if (SUCCEEDED(psxi->lpVtbl->Initialize(psxi, NULL, NULL, hKey)))
+ if (SUCCEEDED(psxi->lpVtbl->Initialize(psxi, NULL, pDataObj, hKey)))
{
/* Add the IShellPropSheetExt instance to the array */
psxa->pspsx[psxa->uiCount++] = pspsx;
diff --git a/include/shlobj.h b/include/shlobj.h
index cd5562d..d93a69d 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -43,6 +43,7 @@ UINT WINAPI SHAddFromPropSheetExtArray(HPSXA,LPFNADDPROPSHEETPAGE,LPARAM
LPVOID WINAPI SHAlloc(ULONG);
HRESULT WINAPI SHCoCreateInstance(LPCWSTR,const CLSID*,IUnknown*,REFIID,LPVOID*);
HPSXA WINAPI SHCreatePropSheetExtArray(HKEY,LPCWSTR,UINT);
+HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY,LPCWSTR,UINT,IDataObject*);
DWORD WINAPI SHCLSIDFromStringA(LPCSTR,CLSID*);
DWORD WINAPI SHCLSIDFromStringW(LPCWSTR,CLSID*);
#define SHCLSIDFromString WINELIB_NAME_AW(SHCLSIDFromString)
More information about the wine-cvs
mailing list