Nikolay Sivov : shlwapi: Implement SKGetValueW over SHGetShellKey.

Alexandre Julliard julliard at winehq.org
Thu Jul 29 12:08:40 CDT 2010


Module: wine
Branch: master
Commit: 31da90fd9d4437f76271066c8cd0ddbf055997e8
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=31da90fd9d4437f76271066c8cd0ddbf055997e8

Author: Nikolay Sivov <nsivov at codeweavers.com>
Date:   Thu Jul 29 10:03:29 2010 +0400

shlwapi: Implement SKGetValueW over SHGetShellKey.

---

 dlls/shlwapi/ordinal.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/dlls/shlwapi/ordinal.c b/dlls/shlwapi/ordinal.c
index 3e47af6..3edb116 100644
--- a/dlls/shlwapi/ordinal.c
+++ b/dlls/shlwapi/ordinal.c
@@ -4505,12 +4505,22 @@ HRESULT WINAPI IUnknown_OnFocusChangeIS(LPUNKNOWN lpUnknown, LPUNKNOWN pFocusObj
 }
 
 /***********************************************************************
- *		SHGetValueW (SHLWAPI.@)
+ *		SKGetValueW (SHLWAPI.516)
  */
-HRESULT WINAPI SKGetValueW(DWORD a, LPWSTR b, LPWSTR c, DWORD d, DWORD e, DWORD f)
+HRESULT WINAPI SKGetValueW(DWORD flags, LPCWSTR subkey, LPCWSTR value, DWORD *type,
+    void *data, DWORD *count)
 {
-    FIXME("(%x, %s, %s, %x, %x, %x): stub\n", a, debugstr_w(b), debugstr_w(c), d, e, f);
-    return E_FAIL;
+    DWORD ret;
+    HKEY hkey;
+
+    TRACE("(0x%x, %s, %s, %p, %p, %p)\n", flags, debugstr_w(subkey),
+        debugstr_w(value), type, data, count);
+
+    hkey = SHGetShellKey(flags, subkey, FALSE);
+    ret = SHQueryValueExW(hkey, value, NULL, type, data, count);
+    RegCloseKey(hkey);
+
+    return HRESULT_FROM_WIN32(ret);
 }
 
 typedef HRESULT (WINAPI *DllGetVersion_func)(DLLVERSIONINFO *);




More information about the wine-cvs mailing list