From 7c7da8183ec0d9c3a7bf5fb8c6d55c2ab0b94a0b Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Sat, 14 Nov 2015 17:32:04 +0100 Subject: [PATCH] Added patch for stubs of advapi32.RegCreateKeyTransacted[A/W]. --- README.md | 3 +- debian/changelog | 1 + ...bs-for-RegCreateKeyTransacted-A-W-fu.patch | 64 +++++++++++++++++++ .../definition | 1 + patches/patchinstall.sh | 16 +++++ 5 files changed, 84 insertions(+), 1 deletion(-) create mode 100644 patches/advapi32-RegCreateKeyTransacted/0001-advapi32-Add-stubs-for-RegCreateKeyTransacted-A-W-fu.patch create mode 100644 patches/advapi32-RegCreateKeyTransacted/definition diff --git a/README.md b/README.md index d8844502..7c927fd0 100644 --- a/README.md +++ b/README.md @@ -34,10 +34,11 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- -**Bug fixes and features included in the next upcoming release [6]:** +**Bug fixes and features included in the next upcoming release [7]:** * Add partial implementation of ITfThreadMgrEx_ActivateEx ([Wine Bug #39564](https://bugs.winehq.org/show_bug.cgi?id=39564)) * Add stub kernel32.FreeUserPhysicalPages ([Wine Bug #39543](https://bugs.winehq.org/show_bug.cgi?id=39543)) +* Add stubs for advapi32.RegCreateKeyTransacted[A/W] * Implement stub for hid.HidP_TranslateUsagesToI8042ScanCodes ([Wine Bug #39447](https://bugs.winehq.org/show_bug.cgi?id=39447)) * Implement support for "Purist Mode" (override for all dlls) * Properly handle multiple registry notifications per key diff --git a/debian/changelog b/debian/changelog index af47e673..ae278344 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,6 +6,7 @@ wine-staging (1.7.55) UNRELEASED; urgency=low * Added patch for stub of hid.HidP_TranslateUsagesToI8042ScanCodes. * Added patch to properly handle multiple registry notifications per key. * Added patch for stub of kernel32.FreeUserPhysicalPages. + * Added patch for stubs of advapi32.RegCreateKeyTransacted[A/W]. * Remove disabled shell32-Quoted_ShellExecute patchset (bug already fixed and all tests pass). * Remove disabled reg-Cleanup patchset (only cleanup and not actively diff --git a/patches/advapi32-RegCreateKeyTransacted/0001-advapi32-Add-stubs-for-RegCreateKeyTransacted-A-W-fu.patch b/patches/advapi32-RegCreateKeyTransacted/0001-advapi32-Add-stubs-for-RegCreateKeyTransacted-A-W-fu.patch new file mode 100644 index 00000000..df530248 --- /dev/null +++ b/patches/advapi32-RegCreateKeyTransacted/0001-advapi32-Add-stubs-for-RegCreateKeyTransacted-A-W-fu.patch @@ -0,0 +1,64 @@ +From a5cf87f611909a601fe00cbdd5235add43652c54 Mon Sep 17 00:00:00 2001 +From: Sebastian Lackner +Date: Sat, 14 Nov 2015 17:29:43 +0100 +Subject: advapi32: Add stubs for RegCreateKeyTransacted[A/W] functions. + +--- + dlls/advapi32/advapi32.spec | 4 ++-- + dlls/advapi32/registry.c | 25 +++++++++++++++++++++++++ + 2 files changed, 27 insertions(+), 2 deletions(-) + +diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec +index ff2b0de..36f176b 100644 +--- a/dlls/advapi32/advapi32.spec ++++ b/dlls/advapi32/advapi32.spec +@@ -581,8 +581,8 @@ + @ stdcall RegCreateKeyExA(long str long ptr long long ptr ptr ptr) + @ stdcall RegCreateKeyExW(long wstr long ptr long long ptr ptr ptr) + @ stdcall RegCreateKeyW(long wstr ptr) +-# @ stub RegCreateKeyTransactedA +-# @ stub RegCreateKeyTransactedW ++@ stdcall RegCreateKeyTransactedA(long str long ptr long long ptr ptr ptr long ptr) ++@ stdcall RegCreateKeyTransactedW(long wstr long ptr long long ptr ptr ptr long ptr) + @ stdcall RegDeleteKeyA(long str) + @ stdcall RegDeleteKeyExA(long str long long) + @ stdcall RegDeleteKeyExW(long wstr long long) +diff --git a/dlls/advapi32/registry.c b/dlls/advapi32/registry.c +index 798f93d..6b4c873 100644 +--- a/dlls/advapi32/registry.c ++++ b/dlls/advapi32/registry.c +@@ -473,6 +473,31 @@ LSTATUS WINAPI RegCreateKeyA( HKEY hkey, LPCSTR lpSubKey, PHKEY phkResult ) + } + + ++/****************************************************************************** ++ * RegCreateKeyTransactedW [ADVAPI32.@] ++ */ ++LSTATUS WINAPI RegCreateKeyTransactedW( HKEY hkey, LPCWSTR name, DWORD reserved, LPWSTR class, ++ DWORD options, REGSAM access, SECURITY_ATTRIBUTES *sa, ++ PHKEY retkey, LPDWORD dispos, HANDLE transaction, PVOID reserved2 ) ++{ ++ FIXME( "(%p,%s,%u,%s,%u,%u,%p,%p,%p,%p,%p): stub\n", hkey, debugstr_w(name), reserved, ++ debugstr_w(class), options, access, sa, retkey, dispos, transaction, reserved2 ); ++ return ERROR_CALL_NOT_IMPLEMENTED; ++} ++ ++ ++/****************************************************************************** ++ * RegCreateKeyTransactedA [ADVAPI32.@] ++ */ ++LSTATUS WINAPI RegCreateKeyTransactedA( HKEY hkey, LPCSTR name, DWORD reserved, LPSTR class, ++ DWORD options, REGSAM access, SECURITY_ATTRIBUTES *sa, ++ PHKEY retkey, LPDWORD dispos, HANDLE transaction, PVOID reserved2 ) ++{ ++ FIXME( "(%p,%s,%u,%s,%u,%u,%p,%p,%p,%p,%p): stub\n", hkey, debugstr_a(name), reserved, ++ debugstr_a(class), options, access, sa, retkey, dispos, transaction, reserved2 ); ++ return ERROR_CALL_NOT_IMPLEMENTED; ++} ++ + + /****************************************************************************** + * RegOpenKeyExW [ADVAPI32.@] +-- +2.6.2 + diff --git a/patches/advapi32-RegCreateKeyTransacted/definition b/patches/advapi32-RegCreateKeyTransacted/definition new file mode 100644 index 00000000..193f7c5e --- /dev/null +++ b/patches/advapi32-RegCreateKeyTransacted/definition @@ -0,0 +1 @@ +Fixes: Add stubs for advapi32.RegCreateKeyTransacted[A/W] diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 9adf3acb..cf67fc49 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -87,6 +87,7 @@ patch_enable_all () enable_Pipelight="$1" enable_Staging="$1" enable_advapi32_LsaLookupSids="$1" + enable_advapi32_RegCreateKeyTransacted="$1" enable_advapi32_SetSecurityInfo="$1" enable_amstream_GetMultiMediaStream="$1" enable_api_ms_win_crt_Stub_DLLs="$1" @@ -360,6 +361,9 @@ patch_enable () advapi32-LsaLookupSids) enable_advapi32_LsaLookupSids="$2" ;; + advapi32-RegCreateKeyTransacted) + enable_advapi32_RegCreateKeyTransacted="$2" + ;; advapi32-SetSecurityInfo) enable_advapi32_SetSecurityInfo="$2" ;; @@ -2238,6 +2242,18 @@ if test "$enable_advapi32_LsaLookupSids" -eq 1; then ) >> "$patchlist" fi +# Patchset advapi32-RegCreateKeyTransacted +# | +# | Modified files: +# | * dlls/advapi32/advapi32.spec, dlls/advapi32/registry.c +# | +if test "$enable_advapi32_RegCreateKeyTransacted" -eq 1; then + patch_apply advapi32-RegCreateKeyTransacted/0001-advapi32-Add-stubs-for-RegCreateKeyTransacted-A-W-fu.patch + ( + echo '+ { "Sebastian Lackner", "advapi32: Add stubs for RegCreateKeyTransacted[A/W] functions.", 1 },'; + ) >> "$patchlist" +fi + # Patchset advapi32-SetSecurityInfo # | # | This patchset fixes the following Wine bugs: