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