James Hawkins : advpack: Forward RegSaveRestoreA to its Unicode counterpart .

Alexandre Julliard julliard at wine.codeweavers.com
Tue Apr 4 05:37:46 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 96a428066ad04b0bbf0f7fc46d0466a525bb2804
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=96a428066ad04b0bbf0f7fc46d0466a525bb2804

Author: James Hawkins <truiken at gmail.com>
Date:   Mon Apr  3 12:04:21 2006 -0500

advpack: Forward RegSaveRestoreA to its Unicode counterpart.

---

 dlls/advpack/advpack.spec |    2 +-
 dlls/advpack/reg.c        |   37 ++++++++++++++++++++++++++++++++++---
 2 files changed, 35 insertions(+), 4 deletions(-)

diff --git a/dlls/advpack/advpack.spec b/dlls/advpack/advpack.spec
index 5889c92..5964403 100644
--- a/dlls/advpack/advpack.spec
+++ b/dlls/advpack/advpack.spec
@@ -56,7 +56,7 @@
 @ stdcall RegRestoreAllW(ptr wstr long)
 @ stdcall RegRestoreAll(ptr str long) RegRestoreAllA
 @ stdcall RegSaveRestoreA(ptr str long str str str long)
-# stdcall RegSaveRestoreW(ptr wstr long wstr wstr wstr long)
+@ stdcall RegSaveRestoreW(ptr wstr long wstr wstr wstr long)
 @ stdcall RegSaveRestore(ptr str long str str str long) RegSaveRestoreA
 @ stdcall RegSaveRestoreOnINFA(ptr str str str long long long)
 # stdcall RegSaveRestoreOnINFW(ptr wstr wstr wstr long long long)
diff --git a/dlls/advpack/reg.c b/dlls/advpack/reg.c
index 546d249..270a9df 100644
--- a/dlls/advpack/reg.c
+++ b/dlls/advpack/reg.c
@@ -236,6 +236,37 @@ HRESULT WINAPI RegRestoreAllW(HWND hWnd,
 /***********************************************************************
  *          RegSaveRestoreA (advpack.@)
  *
+ * See RegSaveRestoreW.
+ */
+HRESULT WINAPI RegSaveRestoreA(HWND hWnd, LPCSTR pszTitleString, HKEY hkBackupKey,
+                               LPCSTR pcszRootKey, LPCSTR pcszSubKey,
+                               LPCSTR pcszValueName, DWORD dwFlags)
+{
+    UNICODE_STRING title, root, subkey, value;
+    HRESULT hr;
+
+    TRACE("(%p, %p, %p, %p, %p, %p, %ld)\n", hWnd, pszTitleString,
+          hkBackupKey, pcszRootKey, pcszSubKey, pcszValueName, dwFlags);
+
+    RtlCreateUnicodeStringFromAsciiz(&title, pszTitleString);
+    RtlCreateUnicodeStringFromAsciiz(&root, pcszRootKey);
+    RtlCreateUnicodeStringFromAsciiz(&subkey, pcszSubKey);
+    RtlCreateUnicodeStringFromAsciiz(&value, pcszValueName);
+
+    hr = RegSaveRestoreW(hWnd, title.Buffer, hkBackupKey, root.Buffer,
+                         subkey.Buffer, value.Buffer, dwFlags);
+
+    RtlFreeUnicodeString(&title);
+    RtlFreeUnicodeString(&root);
+    RtlFreeUnicodeString(&subkey);
+    RtlFreeUnicodeString(&value);
+
+    return hr;
+}
+
+/***********************************************************************
+ *          RegSaveRestoreW (advpack.@)
+ *
  * Saves or restores the specified registry value.
  *
  * PARAMS
@@ -254,9 +285,9 @@ HRESULT WINAPI RegRestoreAllW(HWND hWnd,
  * BUGS
  *   Unimplemented.
  */
-HRESULT WINAPI RegSaveRestoreA(HWND hWnd, LPCSTR pszTitleString, HKEY hkBackupKey,
-                              LPCSTR pcszRootKey, LPCSTR pcszSubKey,
-                              LPCSTR pcszValueName, DWORD dwFlags)
+HRESULT WINAPI RegSaveRestoreW(HWND hWnd, LPCWSTR pszTitleString, HKEY hkBackupKey,
+                               LPCWSTR pcszRootKey, LPCWSTR pcszSubKey,
+                               LPCWSTR pcszValueName, DWORD dwFlags)
 {
     FIXME("(%p, %p, %p, %p, %p, %p, %ld) stub\n", hWnd, pszTitleString,
           hkBackupKey, pcszRootKey, pcszSubKey, pcszValueName, dwFlags);




More information about the wine-cvs mailing list