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

Zhiyi Zhang zzhang at codeweavers.com
Wed Mar 18 04:11:07 CDT 2020


You don't need to commit configure changes. Committer
will update configure upon applying your patch. Plus,
your configure changes seem off.

Thanks,
Zhiyi

On 3/18/20 3:52 PM, Myah Caron wrote:
> 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