Sync to Wine-0_9_1:
Uwe Bonnes <bon(a)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