Added patch for stubs of advapi32.RegCreateKeyTransacted[A/W].

This commit is contained in:
Sebastian Lackner 2015-11-14 17:32:04 +01:00
parent 68a4753dbf
commit 7c7da8183e
5 changed files with 84 additions and 1 deletions

View File

@ -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

1
debian/changelog vendored
View File

@ -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

View File

@ -0,0 +1,64 @@
From a5cf87f611909a601fe00cbdd5235add43652c54 Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
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

View File

@ -0,0 +1 @@
Fixes: Add stubs for advapi32.RegCreateKeyTransacted[A/W]

View File

@ -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: