Louis Lenders : advapi32: Add stubs for RegSaveKeyEx{A,W}.

Alexandre Julliard julliard at winehq.org
Thu Apr 20 16:41:35 CDT 2017


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

Author: Louis Lenders <xerox.xerox2000x at gmail.com>
Date:   Thu Apr 13 18:00:22 2017 +0200

advapi32: Add stubs for RegSaveKeyEx{A,W}.

Signed-off-by: Louis Lenders <xerox.xerox2000x at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/advapi32/advapi32.spec                           |  4 ++--
 dlls/advapi32/registry.c                              | 19 +++++++++++++++++++
 .../api-ms-win-core-localregistry-l1-1-0.spec         |  4 ++--
 .../api-ms-win-core-registry-l1-1-0.spec              |  4 ++--
 .../api-ms-win-downlevel-advapi32-l1-1-0.spec         |  4 ++--
 dlls/kernelbase/kernelbase.spec                       |  4 ++--
 include/winreg.h                                      |  3 +++
 7 files changed, 32 insertions(+), 10 deletions(-)

diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
index 078bb8f..7922c37 100644
--- a/dlls/advapi32/advapi32.spec
+++ b/dlls/advapi32/advapi32.spec
@@ -680,8 +680,8 @@
 @ stdcall RegRestoreKeyA(long str long)
 @ stdcall RegRestoreKeyW(long wstr long)
 @ stdcall RegSaveKeyA(long ptr ptr)
-# @ stub RegSaveKeyExA
-# @ stub RegSaveKeyExW
+@ stdcall RegSaveKeyExA(long str ptr long)
+@ stdcall RegSaveKeyExW(long wstr ptr long)
 @ stdcall RegSaveKeyW(long ptr ptr)
 @ stdcall RegSetKeySecurity(long long ptr)
 @ stdcall RegSetKeyValueA(long str str long ptr long)
diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c
index e32f48a..7a26fff 100644
--- a/dlls/advapi32/registry.c
+++ b/dlls/advapi32/registry.c
@@ -2427,6 +2427,25 @@ LSTATUS WINAPI RegSaveKeyA( HKEY hkey, LPCSTR file, LPSECURITY_ATTRIBUTES sa )
     return RegSaveKeyW(hkey, fileW->Buffer, sa);
 }
 
+/******************************************************************************
+ * RegSaveKeyExA  [ADVAPI32.@]
+ *
+ */
+LSTATUS WINAPI RegSaveKeyExA( HKEY hkey, LPCSTR file, SECURITY_ATTRIBUTES *sa, DWORD flags )
+{
+    FIXME( "(%p,%s,%p,%d) flags not handled\n", hkey, debugstr_a(file), sa, flags );
+    return RegSaveKeyA(hkey, file, sa);
+}
+
+/******************************************************************************
+ * RegSaveKeyExW  [ADVAPI32.@]
+ *
+ */
+LSTATUS WINAPI RegSaveKeyExW( HKEY hkey, LPCWSTR file, SECURITY_ATTRIBUTES *sa, DWORD flags )
+{
+    FIXME( "(%p,%s,%p,%d) flags not handled\n", hkey, debugstr_w(file), sa, flags );
+    return RegSaveKeyW(hkey, file, sa);
+}
 
 /******************************************************************************
  * RegRestoreKeyW [ADVAPI32.@]
diff --git a/dlls/api-ms-win-core-localregistry-l1-1-0/api-ms-win-core-localregistry-l1-1-0.spec b/dlls/api-ms-win-core-localregistry-l1-1-0/api-ms-win-core-localregistry-l1-1-0.spec
index fcf4f00..114d5a9 100644
--- a/dlls/api-ms-win-core-localregistry-l1-1-0/api-ms-win-core-localregistry-l1-1-0.spec
+++ b/dlls/api-ms-win-core-localregistry-l1-1-0/api-ms-win-core-localregistry-l1-1-0.spec
@@ -31,8 +31,8 @@
 @ stdcall RegQueryValueExW(long wstr ptr ptr ptr ptr) advapi32.RegQueryValueExW
 @ stdcall RegRestoreKeyA(long str long) advapi32.RegRestoreKeyA
 @ stdcall RegRestoreKeyW(long wstr long) advapi32.RegRestoreKeyW
-@ stub RegSaveKeyExA
-@ stub RegSaveKeyExW
+@ stdcall RegSaveKeyExA(long str ptr long) advapi32.RegSaveKeyExA
+@ stdcall RegSaveKeyExW(long wstr ptr long) advapi32.RegSaveKeyExW
 @ stdcall RegSetKeySecurity(long long ptr) advapi32.RegSetKeySecurity
 @ stdcall RegSetValueExA(long str long long ptr long) advapi32.RegSetValueExA
 @ stdcall RegSetValueExW(long wstr long long ptr long) advapi32.RegSetValueExW
diff --git a/dlls/api-ms-win-core-registry-l1-1-0/api-ms-win-core-registry-l1-1-0.spec b/dlls/api-ms-win-core-registry-l1-1-0/api-ms-win-core-registry-l1-1-0.spec
index 91b1a94..7a48e3b 100644
--- a/dlls/api-ms-win-core-registry-l1-1-0/api-ms-win-core-registry-l1-1-0.spec
+++ b/dlls/api-ms-win-core-registry-l1-1-0/api-ms-win-core-registry-l1-1-0.spec
@@ -34,8 +34,8 @@
 @ stdcall RegQueryValueExW(long wstr ptr ptr ptr ptr) advapi32.RegQueryValueExW
 @ stdcall RegRestoreKeyA(long str long) advapi32.RegRestoreKeyA
 @ stdcall RegRestoreKeyW(long wstr long) advapi32.RegRestoreKeyW
-@ stub RegSaveKeyExA
-@ stub RegSaveKeyExW
+@ stdcall RegSaveKeyExA(long str ptr long) advapi32.RegSaveKeyExA
+@ stdcall RegSaveKeyExW(long wstr ptr long) advapi32.RegSaveKeyExW
 @ stdcall RegSetKeySecurity(long long ptr) advapi32.RegSetKeySecurity
 @ stdcall RegSetValueExA(long str long long ptr long) advapi32.RegSetValueExA
 @ stdcall RegSetValueExW(long wstr long long ptr long) advapi32.RegSetValueExW
diff --git a/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec b/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec
index d5bc3e6..d0660eb 100644
--- a/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec
+++ b/dlls/api-ms-win-downlevel-advapi32-l1-1-0/api-ms-win-downlevel-advapi32-l1-1-0.spec
@@ -120,8 +120,8 @@
 @ stdcall RegQueryValueExW(long wstr ptr ptr ptr ptr) advapi32.RegQueryValueExW
 @ stdcall RegRestoreKeyA(long str long) advapi32.RegRestoreKeyA
 @ stdcall RegRestoreKeyW(long wstr long) advapi32.RegRestoreKeyW
-@ stub RegSaveKeyExA
-@ stub RegSaveKeyExW
+@ stdcall RegSaveKeyExA(long str ptr long) advapi32.RegSaveKeyExA
+@ stdcall RegSaveKeyExW(long wstr ptr long) advapi32.RegSaveKeyExW
 @ stdcall RegSetKeySecurity(long long ptr) advapi32.RegSetKeySecurity
 @ stdcall RegSetValueExA(long str long long ptr long) advapi32.RegSetValueExA
 @ stdcall RegSetValueExW(long wstr long long ptr long) advapi32.RegSetValueExW
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec
index e8cf502..cf6ceef 100644
--- a/dlls/kernelbase/kernelbase.spec
+++ b/dlls/kernelbase/kernelbase.spec
@@ -1307,8 +1307,8 @@
 @ stdcall -private RegQueryValueExW(long wstr ptr ptr ptr ptr) kernel32.RegQueryValueExW
 @ stdcall -private RegRestoreKeyA(long str long) kernel32.RegRestoreKeyA
 @ stdcall -private RegRestoreKeyW(long wstr long) kernel32.RegRestoreKeyW
-# @ stub RegSaveKeyExA
-# @ stub RegSaveKeyExW
+@ stdcall RegSaveKeyExA(long str ptr long) advapi32.RegSaveKeyExA
+@ stdcall RegSaveKeyExW(long wstr ptr long) advapi32.RegSaveKeyExW
 @ stdcall -private RegSetKeySecurity(long long ptr) kernel32.RegSetKeySecurity
 @ stdcall RegSetKeyValueA(long str str long ptr long) advapi32.RegSetKeyValueA
 @ stdcall RegSetKeyValueW(long wstr wstr long ptr long) advapi32.RegSetKeyValueW
diff --git a/include/winreg.h b/include/winreg.h
index cf6bd47..42b7725 100644
--- a/include/winreg.h
+++ b/include/winreg.h
@@ -168,6 +168,9 @@ WINADVAPI LSTATUS   WINAPI RegRestoreKeyW(HKEY,LPCWSTR,DWORD);
 WINADVAPI LSTATUS   WINAPI RegSaveKeyA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES);
 WINADVAPI LSTATUS   WINAPI RegSaveKeyW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES);
 #define                    RegSaveKey WINELIB_NAME_AW(RegSaveKey)
+WINADVAPI LSTATUS   WINAPI RegSaveKeyExA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES,DWORD);
+WINADVAPI LSTATUS   WINAPI RegSaveKeyExW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES,DWORD);
+#define                    RegSaveKeyEx WINELIB_NAME_AW(RegSaveKeyEx)
 WINADVAPI LSTATUS   WINAPI RegSetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
 WINADVAPI LSTATUS   WINAPI RegSetKeyValueA(HKEY,LPCSTR,LPCSTR,DWORD,const void*,DWORD);
 WINADVAPI LSTATUS   WINAPI RegSetKeyValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,const void*,DWORD);




More information about the wine-cvs mailing list