Semi-stub implementation for SHRegGetValue(A|W).
This commit is contained in:
parent
217e499de6
commit
c51e9964a3
|
@ -1139,6 +1139,68 @@ DWORD WINAPI SHGetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue,
|
|||
return dwRet;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHRegGetValueA [SHLWAPI.@]
|
||||
*
|
||||
* Get a value from the registry.
|
||||
*
|
||||
* PARAMS
|
||||
* hKey [I] Handle to registry key
|
||||
* lpszSubKey [I] Name of sub key containing value to get
|
||||
* lpszValue [I] Name of value to get
|
||||
* srrf [I] Flags for restricting returned data
|
||||
* pwType [O] Pointer to the values type
|
||||
* pvData [O] Pointer to the values data
|
||||
* pcbData [O] Pointer to the values size
|
||||
*
|
||||
* RETURNS
|
||||
* Success: ERROR_SUCCESS. Output parameters contain the details read.
|
||||
* Failure: An error code from RegOpenKeyExA() or SHQueryValueExA().
|
||||
*/
|
||||
DWORD WINAPI SHRegGetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, DWORD srrfFlags,
|
||||
LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
|
||||
{
|
||||
DWORD dwRet = 0;
|
||||
HKEY hSubKey = 0;
|
||||
|
||||
TRACE("(hkey=%p,%s,%s,%p,%p,%p)\n", hKey, debugstr_a(lpszSubKey),
|
||||
debugstr_a(lpszValue), pwType, pvData, pcbData);
|
||||
FIXME("Semi-Stub: Find meaning and implement handling of SRFF Flags 0x%08lx\n", srrfFlags);
|
||||
|
||||
dwRet = RegOpenKeyExA(hKey, lpszSubKey, 0, KEY_QUERY_VALUE, &hSubKey);
|
||||
if (! dwRet)
|
||||
{
|
||||
/* SHQueryValueEx expands Environment strings */
|
||||
dwRet = SHQueryValueExA(hSubKey, lpszValue, 0, pwType, pvData, pcbData);
|
||||
RegCloseKey(hSubKey);
|
||||
}
|
||||
return dwRet;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHReg GetRegValueW [SHLWAPI.@]
|
||||
*
|
||||
* See SHGetValueA.
|
||||
*/
|
||||
DWORD WINAPI SHRegGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, DWORD srrfFlags,
|
||||
LPDWORD pwType, LPVOID pvData, LPDWORD pcbData)
|
||||
{
|
||||
DWORD dwRet = 0;
|
||||
HKEY hSubKey = 0;
|
||||
|
||||
TRACE("(hkey=%p,%s,%s,0x%08lx, %p,%p,%p)\n", hKey, debugstr_w(lpszSubKey),
|
||||
debugstr_w(lpszValue), srrfFlags,pwType, pvData, pcbData);
|
||||
FIXME("Semi-Stub: Find meaning and implement handling of SRFF Flags 0x%08lx\n", srrfFlags);
|
||||
|
||||
dwRet = RegOpenKeyExW(hKey, lpszSubKey, 0, KEY_QUERY_VALUE, &hSubKey);
|
||||
if (! dwRet)
|
||||
{
|
||||
dwRet = SHQueryValueExW(hSubKey, lpszValue, 0, pwType, pvData, pcbData);
|
||||
RegCloseKey(hSubKey);
|
||||
}
|
||||
return dwRet;
|
||||
}
|
||||
|
||||
/*************************************************************************
|
||||
* SHGetValueW [SHLWAPI.@]
|
||||
*
|
||||
|
|
|
@ -726,6 +726,8 @@
|
|||
@ stdcall SHRegGetPathW(long wstr wstr ptr long)
|
||||
@ stdcall SHRegGetUSValueA ( str str ptr ptr ptr long ptr long )
|
||||
@ stdcall SHRegGetUSValueW ( wstr wstr ptr ptr ptr long ptr long )
|
||||
@ stdcall SHRegGetValueA ( long str str long ptr ptr ptr )
|
||||
@ stdcall SHRegGetValueW ( long wstr wstr long ptr ptr ptr )
|
||||
@ stdcall SHRegOpenUSKeyA ( str long long long long )
|
||||
@ stdcall SHRegOpenUSKeyW ( wstr long long long long )
|
||||
@ stdcall SHRegQueryInfoUSKeyA ( long ptr ptr ptr ptr long )
|
||||
|
|
Loading…
Reference in New Issue