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

This commit is contained in:
Marcus Meissner 2000-11-25 01:24:10 +00:00 committed by Alexandre Julliard
parent 9811129dfd
commit f73358f0ea
3 changed files with 110 additions and 11 deletions

View File

@ -35,6 +35,15 @@ DWORD WINAPI SHLWAPI_1 (
return 0; return 0;
} }
/*************************************************************************
* 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] * SHLWAPI_16 [SHLWAPI.16]
*/ */
@ -92,6 +101,15 @@ DWORD WINAPI SHLWAPI_24 (
guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] ); guid->Data4[4], guid->Data4[5], guid->Data4[6], guid->Data4[7] );
return MultiByteToWideChar( CP_ACP, 0, xguid, -1, str, cmax ); 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 * SHLWAPI_137
*/ */
@ -101,6 +119,14 @@ DWORD WINAPI SHLWAPI_137(
FIXME("(%#x)stub\n", what); FIXME("(%#x)stub\n", what);
return 0; 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] * SHLWAPI_151 [SHLWAPI.151]
*/ */
@ -372,6 +398,14 @@ DWORD WINAPI SHLWAPI_346 (
return lstrlenW(dest)+1; 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] * SHLWAPI_377 [SHLWAPI.377]

View File

@ -172,7 +172,7 @@ DWORD WINAPI SHGetValueW(
/************************************************************************* /*************************************************************************
* SHSetValueA [SHLWAPI.@] * SHSetValueA [SHLWAPI.@]
*/ */
DWORD WINAPI SHSetValueA( HRESULT WINAPI SHSetValueA(
HKEY hkey, HKEY hkey,
LPCSTR pszSubKey, LPCSTR pszSubKey,
LPCSTR pszValue, LPCSTR pszValue,
@ -180,8 +180,37 @@ DWORD WINAPI SHSetValueA(
LPCVOID pvData, LPCVOID pvData,
DWORD cbData) DWORD cbData)
{ {
FIXME("(%s %s)stub\n",pszSubKey, pszValue); HKEY subkey;
return 1; 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;
} }
/************************************************************************* /*************************************************************************
@ -304,6 +333,40 @@ HRESULT WINAPI SHDeleteKeyW(
return 0; return 0;
} }
/*************************************************************************
* 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.@] * SHDeleteEmptyKeyA [SHLWAPI.@]
* *

View File

@ -11,7 +11,7 @@ import ntdll.dll
debug_channels (shell) debug_channels (shell)
1 stdcall @(ptr ptr) SHLWAPI_1 1 stdcall @(ptr ptr) SHLWAPI_1
2 stub @ 2 stdcall @(wstr ptr) SHLWAPI_2
3 stub @ 3 stub @
4 stub @ 4 stub @
5 stub @ 5 stub @
@ -47,7 +47,7 @@ debug_channels (shell)
35 stub @ 35 stub @
36 stub @ 36 stub @
37 stub @ 37 stub @
38 stub @ 38 stdcall @(long) SHLWAPI_38
39 stub @ 39 stub @
40 stub @ 40 stub @
41 stub @ 41 stub @
@ -150,7 +150,7 @@ debug_channels (shell)
138 stub @ 138 stub @
139 stub @ 139 stub @
140 stub @ 140 stub @
141 stub @ 141 stdcall @(ptr long ptr) SHLWAPI_141
142 stub @ 142 stub @
143 stub @ 143 stub @
144 stub @ 144 stub @
@ -385,7 +385,7 @@ debug_channels (shell)
373 stub @ 373 stub @
374 stub @ 374 stub @
375 stub @ 375 stub @
376 stub @ 376 stdcall @(long) SHLWAPI_376
377 stdcall @(long long long) SHLWAPI_377 377 stdcall @(long long long) SHLWAPI_377
378 stdcall @(long long long) SHLWAPI_378 378 stdcall @(long long long) SHLWAPI_378
379 stub @ 379 stub @
@ -567,8 +567,8 @@ debug_channels (shell)
@ stdcall SHDeleteKeyW(long wstr) SHDeleteKeyW @ stdcall SHDeleteKeyW(long wstr) SHDeleteKeyW
@ stub SHDeleteOrphanKeyA @ stub SHDeleteOrphanKeyA
@ stub SHDeleteOrphanKeyW @ stub SHDeleteOrphanKeyW
@ stub SHDeleteValueA @ stdcall SHDeleteValueA(long str str) SHDeleteValueA
@ stub SHDeleteValueW @ stdcall SHDeleteValueW(long wstr wstr) SHDeleteValueW
@ stub SHEnumKeyExA @ stub SHEnumKeyExA
@ stub SHEnumKeyExW @ stub SHEnumKeyExW
@ stub SHEnumValueA @ stub SHEnumValueA
@ -610,8 +610,8 @@ debug_channels (shell)
@ stub SHRegSetUSValueW @ stub SHRegSetUSValueW
@ stub SHRegWriteUSValueA @ stub SHRegWriteUSValueA
@ stub SHRegWriteUSValueW @ stub SHRegWriteUSValueW
@ stdcall SHSetValueA (long str str long ptr long) SHSetValueA @ stdcall SHSetValueA (long str str long ptr long) SHSetValueA
@ stub SHSetValueW @ stdcall SHSetValueW (long wstr wstr long ptr long) SHSetValueW
@ stdcall StrCSpnA (str str) StrCSpnA @ stdcall StrCSpnA (str str) StrCSpnA
@ stub StrCSpnIA @ stub StrCSpnIA
@ stub StrCSpnIW @ stub StrCSpnIW
@ -698,3 +698,5 @@ debug_channels (shell)
#@ stdcall StrRetToStrW (ptr ptr ptr) StrRetToStrW #@ stdcall StrRetToStrW (ptr ptr ptr) StrRetToStrW
@ stdcall SHRegGetPathA(long str str ptr long)SHRegGetPathA @ stdcall SHRegGetPathA(long str str ptr long)SHRegGetPathA
@ stdcall SHRegGetPathW(long wstr wstr ptr long)SHRegGetPathW @ stdcall SHRegGetPathW(long wstr wstr ptr long)SHRegGetPathW
@ stub SHCopyKeyW
@ stub SHAutoComplete