Sync to Wine-0_9_1: Uwe Bonnes bon@elektron.ikp.physik.tu-darmstadt.de - Semi-stub implementation for SHRegGetValue(A|W). Modified: trunk/reactos/lib/shlwapi/reg.c Modified: trunk/reactos/lib/shlwapi/shlwapi.rc Modified: trunk/reactos/lib/shlwapi/shlwapi.spec Added: trunk/reactos/lib/shlwapi/shlwapi_Ko.rc _____
Modified: trunk/reactos/lib/shlwapi/reg.c --- trunk/reactos/lib/shlwapi/reg.c 2005-11-20 14:26:47 UTC (rev 19363) +++ trunk/reactos/lib/shlwapi/reg.c 2005-11-20 14:30:08 UTC (rev 19364) @@ -1140,6 +1140,68 @@
}
/*********************************************************************** ** + * 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.@] * * See SHGetValueA. _____
Modified: trunk/reactos/lib/shlwapi/shlwapi.rc --- trunk/reactos/lib/shlwapi/shlwapi.rc 2005-11-20 14:26:47 UTC (rev 19363) +++ trunk/reactos/lib/shlwapi/shlwapi.rc 2005-11-20 14:30:08 UTC (rev 19364) @@ -28,6 +28,7 @@
#include "shlwapi_De.rc" #include "shlwapi_En.rc" #include "shlwapi_Es.rc" +#include "shlwapi_Ko.rc" #include "shlwapi_Nl.rc" #include "shlwapi_No.rc" #include "shlwapi_It.rc" _____
Modified: trunk/reactos/lib/shlwapi/shlwapi.spec --- trunk/reactos/lib/shlwapi/shlwapi.spec 2005-11-20 14:26:47 UTC (rev 19363) +++ trunk/reactos/lib/shlwapi/shlwapi.spec 2005-11-20 14:30:08 UTC (rev 19364) @@ -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 ) _____
Copied: trunk/reactos/lib/shlwapi/shlwapi_Ko.rc (from rev 19363, vendor/wine/dlls/shlwapi/current/shlwapi_Ko.rc) Property changes on: trunk/reactos/lib/shlwapi/shlwapi_Ko.rc ___________________________________________________________________ Name: svn:keywords + Author Date Id Revision Name: svn:eol-style + native