shell32: Implement SHCreatePropSheetExtArrayEx.

oldstable
Thomas Weidenmueller 2007-09-25 11:58:40 -06:00 committed by Alexandre Julliard
parent 4db3b1bba8
commit 1244e8c7d4
3 changed files with 12 additions and 3 deletions

View File

@ -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

View File

@ -1587,6 +1587,14 @@ UINT WINAPI SHAddFromPropSheetExtArray(HPSXA hpsxa, LPFNADDPROPSHEETPAGE lpfnAdd
* SHCreatePropSheetExtArray [SHELL32.168]
*/
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];
@ -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;

View File

@ -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)