Commit f73358f0 authored by Marcus Meissner's avatar Marcus Meissner Committed by Alexandre Julliard

Added some ordinal stubs, implemented SHDeleteValue*, SHSetValue*.

parent 9811129d
......@@ -36,6 +36,15 @@ DWORD WINAPI SHLWAPI_1 (
}
/*************************************************************************
* SHLWAPI_2 [SHLWAPI.2]
*/
DWORD WINAPI SHLWAPI_2 (LPCWSTR x,LPVOID y)
{
FIXME("(%s,%p)\n",debugstr_w(x),y);
return 0;
}
/*************************************************************************
* SHLWAPI_16 [SHLWAPI.16]
*/
HRESULT WINAPI SHLWAPI_16 (
......@@ -92,6 +101,15 @@ DWORD WINAPI SHLWAPI_24 (
guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] );
return MultiByteToWideChar( CP_ACP, 0, xguid, -1, str, cmax );
}
/*************************************************************************
* SHLWAPI_38 [SHLWAPI.38]
*
*/
DWORD WINAPI SHLWAPI_38 ( DWORD x) {
FIXME("(%lx),stub!\n",x);
return 0;
}
/*************************************************************************
* SHLWAPI_137
*/
......@@ -102,6 +120,14 @@ DWORD WINAPI SHLWAPI_137(
return 0;
}
/*************************************************************************
* SHLWAPI_141
*/
DWORD WINAPI SHLWAPI_141( LPVOID ptr, DWORD x , LPVOID ptr2)
{
FIXME("(%p,%ld,%p), stub\n", ptr,x,ptr2);
return 0;
}
/*************************************************************************
* SHLWAPI_151 [SHLWAPI.151]
*/
DWORD WINAPI SHLWAPI_151(void)
......@@ -372,6 +398,14 @@ DWORD WINAPI SHLWAPI_346 (
return lstrlenW(dest)+1;
}
/*************************************************************************
* SHLWAPI_376 [SHLWAPI.377]
*/
DWORD WINAPI SHLWAPI_376 (LONG x)
{
FIXME("(0x%08lx)stub\n", x );
return 0xabba1245;
}
/*************************************************************************
* SHLWAPI_377 [SHLWAPI.377]
......
......@@ -172,7 +172,7 @@ DWORD WINAPI SHGetValueW(
/*************************************************************************
* SHSetValueA [SHLWAPI.@]
*/
DWORD WINAPI SHSetValueA(
HRESULT WINAPI SHSetValueA(
HKEY hkey,
LPCSTR pszSubKey,
LPCSTR pszValue,
......@@ -180,8 +180,37 @@ DWORD WINAPI SHSetValueA(
LPCVOID pvData,
DWORD cbData)
{
FIXME("(%s %s)stub\n",pszSubKey, pszValue);
return 1;
HKEY subkey;
HRESULT hres;
hres = RegCreateKeyA(hkey,pszSubKey,&subkey);
if (!hres)
return hres;
hres = RegSetValueExA(subkey,pszValue,0,dwType,pvData,cbData);
RegCloseKey(subkey);
return hres;
}
/*************************************************************************
* SHSetValueW [SHLWAPI.@]
*/
HRESULT WINAPI SHSetValueW(
HKEY hkey,
LPCWSTR pszSubKey,
LPCWSTR pszValue,
DWORD dwType,
LPCVOID pvData,
DWORD cbData)
{
HKEY subkey;
HRESULT hres;
hres = RegCreateKeyW(hkey,pszSubKey,&subkey);
if (!hres)
return hres;
hres = RegSetValueExW(subkey,pszValue,0,dwType,pvData,cbData);
RegCloseKey(subkey);
return hres;
}
/*************************************************************************
......@@ -305,6 +334,40 @@ HRESULT WINAPI SHDeleteKeyW(
}
/*************************************************************************
* SHDeleteValueA [SHLWAPI.@]
*
* Function opens the key, get/set/delete the value, then close the key.
*/
HRESULT WINAPI SHDeleteValueA(HKEY hkey, LPCSTR pszSubKey, LPCSTR pszValue) {
HKEY subkey;
HRESULT hres;
hres = RegOpenKeyA(hkey,pszSubKey,&subkey);
if (hres)
return hres;
hres = RegDeleteValueA(subkey,pszValue);
RegCloseKey(subkey);
return hres;
}
/*************************************************************************
* SHDeleteValueW [SHLWAPI.@]
*
* Function opens the key, get/set/delete the value, then close the key.
*/
HRESULT WINAPI SHDeleteValueW(HKEY hkey, LPCWSTR pszSubKey, LPCWSTR pszValue) {
HKEY subkey;
HRESULT hres;
hres = RegOpenKeyW(hkey,pszSubKey,&subkey);
if (hres)
return hres;
hres = RegDeleteValueW(subkey,pszValue);
RegCloseKey(subkey);
return hres;
}
/*************************************************************************
* SHDeleteEmptyKeyA [SHLWAPI.@]
*
* It appears this function is made available to account for the differences
......
......@@ -11,7 +11,7 @@ import ntdll.dll
debug_channels (shell)
1 stdcall @(ptr ptr) SHLWAPI_1
2 stub @
2 stdcall @(wstr ptr) SHLWAPI_2
3 stub @
4 stub @
5 stub @
......@@ -47,7 +47,7 @@ debug_channels (shell)
35 stub @
36 stub @
37 stub @
38 stub @
38 stdcall @(long) SHLWAPI_38
39 stub @
40 stub @
41 stub @
......@@ -150,7 +150,7 @@ debug_channels (shell)
138 stub @
139 stub @
140 stub @
141 stub @
141 stdcall @(ptr long ptr) SHLWAPI_141
142 stub @
143 stub @
144 stub @
......@@ -385,7 +385,7 @@ debug_channels (shell)
373 stub @
374 stub @
375 stub @
376 stub @
376 stdcall @(long) SHLWAPI_376
377 stdcall @(long long long) SHLWAPI_377
378 stdcall @(long long long) SHLWAPI_378
379 stub @
......@@ -567,8 +567,8 @@ debug_channels (shell)
@ stdcall SHDeleteKeyW(long wstr) SHDeleteKeyW
@ stub SHDeleteOrphanKeyA
@ stub SHDeleteOrphanKeyW
@ stub SHDeleteValueA
@ stub SHDeleteValueW
@ stdcall SHDeleteValueA(long str str) SHDeleteValueA
@ stdcall SHDeleteValueW(long wstr wstr) SHDeleteValueW
@ stub SHEnumKeyExA
@ stub SHEnumKeyExW
@ stub SHEnumValueA
......@@ -610,8 +610,8 @@ debug_channels (shell)
@ stub SHRegSetUSValueW
@ stub SHRegWriteUSValueA
@ stub SHRegWriteUSValueW
@ stdcall SHSetValueA (long str str long ptr long) SHSetValueA
@ stub SHSetValueW
@ stdcall SHSetValueA (long str str long ptr long) SHSetValueA
@ stdcall SHSetValueW (long wstr wstr long ptr long) SHSetValueW
@ stdcall StrCSpnA (str str) StrCSpnA
@ stub StrCSpnIA
@ stub StrCSpnIW
......@@ -698,3 +698,5 @@ debug_channels (shell)
#@ stdcall StrRetToStrW (ptr ptr ptr) StrRetToStrW
@ stdcall SHRegGetPathA(long str str ptr long)SHRegGetPathA
@ stdcall SHRegGetPathW(long wstr wstr ptr long)SHRegGetPathW
@ stub SHCopyKeyW
@ stub SHAutoComplete
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