Added patch to implement semi-stub for psapi/kernel32 K32EnumProcessModulesEx.

This commit is contained in:
Sebastian Lackner 2014-11-29 23:04:33 +01:00
parent bb57db5f98
commit 50794f220a
5 changed files with 96 additions and 1 deletions

View File

@ -39,12 +39,13 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [5]:**
**Bugfixes and features included in the next upcoming release [6]:**
* Avoid race-conditions of async WSARecv() operations with write watches.
* Black & White needs DXTn software decoding support ([Wine Bug #14939](https://bugs.winehq.org/show_bug.cgi?id=14939))
* Fix issues with dragging layers between images in Adobe Photoshop 7.0 ([Wine Bug #12007](https://bugs.winehq.org/show_bug.cgi?id=12007))
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
* Support for K32EnumProcessModulesEx ([Wine Bug #34864](https://bugs.winehq.org/show_bug.cgi?id=34864))
* Wintrust doesn't reset data->pWintrustData->u.pFile->hFile after closing handle ([Wine Bug #36257](https://bugs.winehq.org/show_bug.cgi?id=36257))

1
debian/changelog vendored
View File

@ -17,6 +17,7 @@ wine-compholio (1.7.32) UNRELEASED; urgency=low
* Added patch to implement stubs for additional api-ms-win-core-* dlls.
* Added patch to fix copy and paste error recently introduced in ws2_32 tests.
* Added patch to change bug reporting URL in winedbg.
* Added patch to implement semi-stub for psapi/kernel32 K32EnumProcessModulesEx.
* Removed patch to close server fd is there is no space in thread inflight fd list (accepted upstream).
* Removed patch to fix bugs in StrStr functions (accepted upstream).
* Removed patches to avoid sending messages in FindWindowExW (accepted upstream).

View File

@ -77,6 +77,7 @@ PATCHLIST := \
ntoskrnl-KeSetSystemAffinityThread.ok \
ntoskrnl-Stub_FileObject.ok \
ntoskrnl-Write_CR4.ok \
psapi-K32EnumProcessModulesEx.ok \
quartz-MediaSeeking_Positions.ok \
riched20-IText_Interface.ok \
secur32-Schannel_ContextAttr.ok \
@ -1172,6 +1173,21 @@ ntoskrnl-Write_CR4.ok:
echo '+ { "Stefan Leichter", "ntoskrnl.exe: Emulate write to CR4 register.", 1 },'; \
) > ntoskrnl-Write_CR4.ok
# Patchset psapi-K32EnumProcessModulesEx
# |
# | This patchset fixes the following Wine bugs:
# | * [#34864] Support for K32EnumProcessModulesEx
# |
# | Modified files:
# | * dlls/kernel32/kernel32.spec, dlls/kernel32/module.c, dlls/psapi/psapi.spec, include/psapi.h
# |
.INTERMEDIATE: psapi-K32EnumProcessModulesEx.ok
psapi-K32EnumProcessModulesEx.ok:
$(call APPLY_FILE,psapi-K32EnumProcessModulesEx/0001-psapi-Implement-semi-stub-for-K32EnumProcessModulesE.patch)
@( \
echo '+ { "Sebastian Lackner", "psapi: Implement semi-stub for K32EnumProcessModulesEx.", 1 },'; \
) > psapi-K32EnumProcessModulesEx.ok
# Patchset quartz-MediaSeeking_Positions
# |
# | This patchset fixes the following Wine bugs:

View File

@ -0,0 +1,76 @@
From a9d202e6e62edb97ddc5d3723faf27ff47cea82d Mon Sep 17 00:00:00 2001
From: Sebastian Lackner <sebastian@fds-team.de>
Date: Sat, 29 Nov 2014 23:00:53 +0100
Subject: psapi: Implement semi-stub for K32EnumProcessModulesEx.
---
dlls/kernel32/kernel32.spec | 1 +
dlls/kernel32/module.c | 14 ++++++++++++++
dlls/psapi/psapi.spec | 1 +
include/psapi.h | 1 +
4 files changed, 17 insertions(+)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index c072780..e7e3492 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -800,6 +800,7 @@
@ stdcall K32EnumPageFilesA(ptr ptr)
@ stdcall K32EnumPageFilesW(ptr ptr)
@ stdcall K32EnumProcessModules(long ptr long ptr)
+@ stdcall K32EnumProcessModulesEx(long ptr long ptr long)
@ stdcall K32EnumProcesses(ptr long ptr)
@ stdcall K32GetDeviceDriverBaseNameA(ptr ptr long)
@ stdcall K32GetDeviceDriverBaseNameW(ptr ptr long)
diff --git a/dlls/kernel32/module.c b/dlls/kernel32/module.c
index ca4cf41..2a87e66 100644
--- a/dlls/kernel32/module.c
+++ b/dlls/kernel32/module.c
@@ -1247,6 +1247,20 @@ BOOL WINAPI K32EnumProcessModules(HANDLE process, HMODULE *lphModule,
}
/***********************************************************************
+ * K32EnumProcessModulesEx (KERNEL32.@)
+ *
+ * NOTES
+ * Returned list is in load order.
+ */
+BOOL WINAPI K32EnumProcessModulesEx(HANDLE process, HMODULE *lphModule,
+ DWORD cb, DWORD *needed, DWORD filter)
+{
+ FIXME("(%p, %p, %d, %p, %d) semi-stub\n",
+ process, lphModule, cb, needed, filter);
+ return K32EnumProcessModules(process, lphModule, cb, needed);
+}
+
+/***********************************************************************
* K32GetModuleBaseNameW (KERNEL32.@)
*/
DWORD WINAPI K32GetModuleBaseNameW(HANDLE process, HMODULE module,
diff --git a/dlls/psapi/psapi.spec b/dlls/psapi/psapi.spec
index 45a1325..d6116f8 100644
--- a/dlls/psapi/psapi.spec
+++ b/dlls/psapi/psapi.spec
@@ -3,6 +3,7 @@
@ stdcall EnumPageFilesA(ptr ptr) kernel32.K32EnumPageFilesA
@ stdcall EnumPageFilesW(ptr ptr) kernel32.K32EnumPageFilesW
@ stdcall EnumProcessModules(long ptr long ptr) kernel32.K32EnumProcessModules
+@ stdcall EnumProcessModulesEx(long ptr long ptr long) kernel32.K32EnumProcessModulesEx
@ stdcall EnumProcesses(ptr long ptr) kernel32.K32EnumProcesses
@ stdcall GetDeviceDriverBaseNameA(ptr ptr long) kernel32.K32GetDeviceDriverBaseNameA
@ stdcall GetDeviceDriverBaseNameW(ptr ptr long) kernel32.K32GetDeviceDriverBaseNameW
diff --git a/include/psapi.h b/include/psapi.h
index f031724..fbdd903 100644
--- a/include/psapi.h
+++ b/include/psapi.h
@@ -81,6 +81,7 @@ extern "C" {
BOOL WINAPI EnumProcesses(DWORD*, DWORD, DWORD*);
BOOL WINAPI EnumProcessModules(HANDLE, HMODULE*, DWORD, LPDWORD);
+BOOL WINAPI EnumProcessModulesEx(HANDLE, HMODULE*, DWORD, LPDWORD, DWORD);
DWORD WINAPI GetModuleBaseNameA(HANDLE, HMODULE, LPSTR, DWORD);
DWORD WINAPI GetModuleBaseNameW(HANDLE, HMODULE, LPWSTR, DWORD);
#define GetModuleBaseName WINELIB_NAME_AW(GetModuleBaseName)
--
2.1.3

View File

@ -0,0 +1 @@
Fixes: [34864] Support for K32EnumProcessModulesEx