Added some ordinal stubs, implemented SHDeleteValue*, SHSetValue*.
This commit is contained in:
parent
9811129dfd
commit
f73358f0ea
|
@ -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]
|
||||||
|
|
|
@ -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.@]
|
||||||
*
|
*
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue