[PATCH] api-ms-win-core-registry-l2-2-0: Add dll

Myah Caron qsniyg at mail.com
Wed Mar 18 02:52:33 CDT 2020


Signed-off-by: Myah Caron <qsniyg at mail.com>
---
This DLL was added in 1511, but removed in 1709. Certain native DLLs still require it.

The DLL was missing from my win10 installation, but I implemented it from the functions listed here:
https://docs.microsoft.com/en-us/windows/win32/apiindex/umbrella-lib-onecore#apis-from-api-ms-win-core-registry-l2-2-0dll
---
 configure                                     | 26 +++++------------
 configure.ac                                  |  1 +
 .../Makefile.in                               |  1 +
 .../api-ms-win-core-registry-l2-2-0.spec      | 29 +++++++++++++++++++
 4 files changed, 39 insertions(+), 18 deletions(-)
 create mode 100644 dlls/api-ms-win-core-registry-l2-2-0/Makefile.in
 create mode 100644 dlls/api-ms-win-core-registry-l2-2-0/api-ms-win-core-registry-l2-2-0.spec

diff --git a/configure b/configure
index 76cfea1c07..b6414536b9 100755
--- a/configure
+++ b/configure
@@ -814,7 +814,6 @@ infodir
 docdir
 oldincludedir
 includedir
-runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -1005,6 +1004,7 @@ enable_api_ms_win_core_quirks_l1_1_0
 enable_api_ms_win_core_realtime_l1_1_0
 enable_api_ms_win_core_registry_l1_1_0
 enable_api_ms_win_core_registry_l2_1_0
+enable_api_ms_win_core_registry_l2_2_0
 enable_api_ms_win_core_registryuserspecific_l1_1_0
 enable_api_ms_win_core_rtlsupport_l1_1_0
 enable_api_ms_win_core_rtlsupport_l1_2_0
@@ -1942,7 +1942,6 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -2195,15 +2194,6 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;

-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -2341,7 +2331,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir runstatedir
+		libdir localedir mandir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -2494,7 +2484,6 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -6908,7 +6897,7 @@ else
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -6954,7 +6943,7 @@ else
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -6978,7 +6967,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -7023,7 +7012,7 @@ else
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -7047,7 +7036,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
     We can't simply define LARGE_OFF_T to be 9223372036854775807,
     since some C++ compilers masquerading as C compilers
     incorrectly reject 9223372036854775807.  */
-#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))
+#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))
   int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721
 		       && LARGE_OFF_T % 2147483647 == 1)
 		      ? 1 : -1];
@@ -20204,6 +20193,7 @@ wine_fn_config_makefile dlls/api-ms-win-core-quirks-l1-1-0 enable_api_ms_win_cor
 wine_fn_config_makefile dlls/api-ms-win-core-realtime-l1-1-0 enable_api_ms_win_core_realtime_l1_1_0
 wine_fn_config_makefile dlls/api-ms-win-core-registry-l1-1-0 enable_api_ms_win_core_registry_l1_1_0
 wine_fn_config_makefile dlls/api-ms-win-core-registry-l2-1-0 enable_api_ms_win_core_registry_l2_1_0
+wine_fn_config_makefile dlls/api-ms-win-core-registry-l2-2-0 enable_api_ms_win_core_registry_l2_2_0
 wine_fn_config_makefile dlls/api-ms-win-core-registryuserspecific-l1-1-0 enable_api_ms_win_core_registryuserspecific_l1_1_0
 wine_fn_config_makefile dlls/api-ms-win-core-rtlsupport-l1-1-0 enable_api_ms_win_core_rtlsupport_l1_1_0
 wine_fn_config_makefile dlls/api-ms-win-core-rtlsupport-l1-2-0 enable_api_ms_win_core_rtlsupport_l1_2_0
diff --git a/configure.ac b/configure.ac
index f722ac5d04..7096e2fb66 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2905,6 +2905,7 @@ WINE_CONFIG_MAKEFILE(dlls/api-ms-win-core-quirks-l1-1-0)
 WINE_CONFIG_MAKEFILE(dlls/api-ms-win-core-realtime-l1-1-0)
 WINE_CONFIG_MAKEFILE(dlls/api-ms-win-core-registry-l1-1-0)
 WINE_CONFIG_MAKEFILE(dlls/api-ms-win-core-registry-l2-1-0)
+WINE_CONFIG_MAKEFILE(dlls/api-ms-win-core-registry-l2-2-0)
 WINE_CONFIG_MAKEFILE(dlls/api-ms-win-core-registryuserspecific-l1-1-0)
 WINE_CONFIG_MAKEFILE(dlls/api-ms-win-core-rtlsupport-l1-1-0)
 WINE_CONFIG_MAKEFILE(dlls/api-ms-win-core-rtlsupport-l1-2-0)
diff --git a/dlls/api-ms-win-core-registry-l2-2-0/Makefile.in b/dlls/api-ms-win-core-registry-l2-2-0/Makefile.in
new file mode 100644
index 0000000000..af9aa28b52
--- /dev/null
+++ b/dlls/api-ms-win-core-registry-l2-2-0/Makefile.in
@@ -0,0 +1 @@
+MODULE    = api-ms-win-core-registry-l2-2-0.dll
diff --git a/dlls/api-ms-win-core-registry-l2-2-0/api-ms-win-core-registry-l2-2-0.spec b/dlls/api-ms-win-core-registry-l2-2-0/api-ms-win-core-registry-l2-2-0.spec
new file mode 100644
index 0000000000..6d9ae1f404
--- /dev/null
+++ b/dlls/api-ms-win-core-registry-l2-2-0/api-ms-win-core-registry-l2-2-0.spec
@@ -0,0 +1,29 @@
+@ stdcall RegConnectRegistryA(str long ptr) advapi32.RegConnectRegistryA
+@ stdcall RegConnectRegistryW(wstr long ptr) advapi32.RegConnectRegistryW
+@ stdcall RegCopyTreeA(long str long) advapi32.RegCopyTreeA
+@ stdcall RegCreateKeyA(long str ptr) advapi32.RegCreateKeyA
+@ stdcall RegCreateKeyTransactedA(long str long ptr long long ptr ptr ptr long ptr) advapi32.RegCreateKeyTransactedA
+@ stdcall RegCreateKeyTransactedW(long wstr long ptr long long ptr ptr ptr long ptr) advapi32.RegCreateKeyTransactedW
+@ stdcall RegCreateKeyW(long wstr ptr) advapi32.RegCreateKeyW
+@ stdcall RegDeleteKeyA(long str) advapi32.RegDeleteKeyA
+@ stub RegDeleteKeyTransactedA
+@ stub RegDeleteKeyTransactedW
+@ stdcall RegDeleteKeyW(long wstr) advapi32.RegDeleteKeyW
+@ stdcall RegDisablePredefinedCache() advapi32.RegDisablePredefinedCache
+@ stdcall RegEnumKeyA(long long ptr long) advapi32.RegEnumKeyA
+@ stdcall RegEnumKeyW(long long ptr long) advapi32.RegEnumKeyW
+@ stdcall RegOpenKeyA(long str ptr) advapi32.RegOpenKeyA
+@ stub RegOpenKeyTransactedA
+@ stub RegOpenKeyTransactedW
+@ stdcall RegOpenKeyW(long wstr ptr) advapi32.RegOpenKeyW
+@ stdcall RegOverridePredefKey(long long) advapi32.RegOverridePredefKey
+@ stdcall RegQueryMultipleValuesA(long ptr long ptr ptr) advapi32.RegQueryMultipleValuesA
+@ stdcall RegQueryMultipleValuesW(long ptr long ptr ptr) advapi32.RegQueryMultipleValuesW
+@ stdcall RegQueryValueA(long str ptr ptr) advapi32.RegQueryValueA
+@ stdcall RegQueryValueW(long wstr ptr ptr) advapi32.RegQueryValueW
+@ stdcall RegReplaceKeyA(long str str str) advapi32.RegReplaceKeyA
+@ stdcall RegReplaceKeyW(long wstr wstr wstr) advapi32.RegReplaceKeyW
+@ stdcall RegSaveKeyA(long ptr ptr) advapi32.RegSaveKeyA
+@ stdcall RegSaveKeyW(long ptr ptr) advapi32.RegSaveKeyW
+@ stdcall RegSetValueA(long str long ptr long) advapi32.RegSetValueA
+@ stdcall RegSetValueW(long wstr long ptr long) advapi32.RegSetValueW
--
2.25.1





More information about the wine-devel mailing list