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