Commit 1244e8c7 authored by Thomas Weidenmueller's avatar Thomas Weidenmueller Committed by Alexandre Julliard

shell32: Implement SHCreatePropSheetExtArrayEx.

parent 4db3b1bb
......@@ -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
......
......@@ -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;
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment