Commit Graph

62 Commits

Author SHA1 Message Date
Akihiro Sagawa 844ae22fcf kernel32: Return the list of module handles even if the last argument is null.
Touhou Shinpiroku relies on this behaviour.

Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-19 19:46:19 +01:00
Alexandre Julliard 21149e6331 kernel32: Properly detect ELF binaries that are position independent executables.
Based on a patch by Sebastian Lackner.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-18 11:19:34 +01:00
Martin Payne e562d4de81 kernel32: Don't report valid non-Win16 NE executables (e.g. OS/2) as broken.
Signed-off-by: Martin Payne <development@martinpayne.me.uk>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-13 20:14:14 +01:00
Alexandre Julliard 1d49a57e77 kernel32: Also set the preloader range for 64-bit binaries.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-23 11:45:25 +02:00
Alexandre Julliard a8d291c0c0 kernel32: Implement safe search mode for SearchPath.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-29 15:51:27 +02:00
Alexandre Julliard 3b399bbbf8 kernel32: Implement LOAD_LIBRARY_SEARCH_* flags.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-29 11:30:27 +02:00
Alexandre Julliard 8abbfbbe24 kernel32: Add helper functions for building the load path.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-29 09:33:07 +02:00
Alexandre Julliard 12167d2e36 kernel32: Implement AddDllDirectory and RemoveDllDirectory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-29 08:16:52 +02:00
Alexandre Julliard 8d82ab4ae7 kernel32: Add support for LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE flag.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 14:19:47 +02:00
Alexandre Julliard e99811aee2 kernel32: Implement SetDefaultDllDirectories.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 13:29:22 +02:00
Alexandre Julliard 66e302f80b kernel32: Implement safe dll search mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-08-28 12:47:34 +02:00
Michael Müller bd17022c90 kernel32: Set ERROR_DLL_NOT_FOUND as error code in load_library for Win 9x compatibility.
Newer operating systems return ERROR_MOD_NOT_FOUND.

Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-31 15:57:32 +09:00
Olivier F. R. Dierick c3f95eddc1 kernel32: Fail gracefully in K32EnumProcessModules with NULL pointer. 2015-07-06 17:09:49 +09:00
Charles Davis 2ace215b9a kernel32: Recognize 64-bit Mach-O modules, too. 2015-01-23 11:10:57 +01:00
Sebastian Lackner cacc9ae888 psapi: Implement semi-stub for K32EnumProcessModulesEx. 2014-12-16 17:25:36 +01:00
Alexandre Julliard ea1689e7b0 kernel32: Add detection of fake dlls when determining a binary type. 2014-08-22 12:44:24 +02:00
Nikolay Sivov 5a8d73283c ntdll: Fix LdrLockLoaderLock()/LdrUnlockLoaderLock() on 64bit. 2014-06-11 13:05:39 +02:00
Nikolay Sivov a2bcfa28d4 kernel32: Add more LoadLibraryEx() flags defines and mark them as unsupported. 2013-11-25 15:15:52 +01:00
Alexandre Julliard f2c54dba01 kernel32: Determine the module architecture for all binary types. 2013-11-22 12:25:30 +01:00
Nikolay Sivov 9a6567d1a6 kernel32: Added support for GET_MODULE_HANDLE_EX_FLAG_PIN. 2013-10-15 14:28:20 +02:00
Stefan Leichter c0e72bb362 kernel32: Let K32EnumProcessModules fail if the last parameter is NULL. 2012-06-22 14:09:51 +02:00
Alexandre Julliard fd11023e4b kernel32: Fix another overflow in GetModuleFileNameExW. 2012-05-01 14:43:46 +02:00
Alexandre Julliard d08f34cd8e kernel32: Fix buffer overflows in K32GetModuleFileNameExA/W. 2012-04-30 14:27:13 +02:00
Hans Leidekker 31ffa54773 kernel32: GetModuleHandleEx already clears the module handle on failure. 2012-04-05 14:51:33 +02:00
Hans Leidekker f96c7278e7 kernel32: Clear the module handle on failure in GetModuleHandleEx. 2012-04-05 14:51:33 +02:00
Hans Leidekker e8a95bf683 kernel32: Return failure from GetModuleHandleEx if the module handle pointer is NULL. 2012-04-05 14:51:33 +02:00
André Hentschel 6d66de583f kernel32: Make GetModuleHandleA hotpatchable. 2012-03-08 18:55:18 +01:00
Francois Gouget 8e67930bd7 kernel32: Reset LastError if GetModuleFileName() succeeds. 2011-10-03 16:56:27 -05:00
Jacek Caban 0d0f2fa4a9 kernel32: Moved GetModuleInformation implementation to kernel32. 2011-05-12 14:29:21 +02:00
Jacek Caban 9bbf3f9075 kernel32: Moved GetModuleFileNameEx[AW] to kernel32. 2011-05-12 14:29:14 +02:00
Jacek Caban e6dd213d52 kernel32: Moved GetModuleBaseName[AW] implementation to kernel32. 2011-05-12 14:29:07 +02:00
Jacek Caban 8379893f96 kernel32: Moved K32EnumProcessModules to module.c. 2011-05-12 14:28:58 +02:00
Detlef Riekenberg 27d31c7652 kernel32: Don't mask when printing unsupported flags in load_library. 2011-01-24 12:35:02 +01:00
André Hentschel 089d792498 kernel32: Update function docs for GetBinayType. 2010-10-28 11:38:01 +02:00
Luca Bennati 9941f846e8 kernel32: Remove dead assignments. 2010-09-20 13:02:11 +02:00
Mariusz Pluciński dfb88608e3 kernel32: New flags added to LoadLibraryEx. 2010-09-13 14:46:20 -05:00
Detlef Riekenberg 69326aa246 kernel32: Move a 16 bit related comment to krnl386. 2010-05-14 18:03:03 +02:00
Michael Stefaniuc 3f37e33497 kernel32: Avoid using HIWORD on types that are 64bit on Win64. 2010-02-10 14:33:52 +01:00
Jason Edmeades 99a0376a4f kernel32: Return error on second attempt to free a module. 2010-01-18 14:26:16 +01:00
Michael Stefaniuc 4f60b6bf91 kernel32: Add missing stdarg.h includes. 2009-12-31 12:12:17 +01:00
Alexandre Julliard 475b7d226c kernel32: Make krnl386.exe into a stand-alone 16-bit module. 2009-12-30 17:36:14 +01:00
Alexandre Julliard 8268ed9783 kernel32: Do not include 16-bit headers in 32-bit files. 2009-12-30 16:21:56 +01:00
Alexandre Julliard 28f13f83a6 kernel32: Add a structure to store all the information about an executable. 2009-10-28 11:03:04 +01:00
Alexandre Julliard 11b0b0658d kernel32: Return the appropriate binary type for 64-bit PE files. 2009-10-21 18:02:30 +02:00
Stefan Dösinger 282cc71aed kernel32: Make some functions hookable. 2009-10-14 12:21:05 +02:00
Alexandre Julliard 806deab0b7 kernel32: Fix a couple of compiler warnings on 64-bit. 2009-10-08 11:12:21 +02:00
Alexandre Julliard 4496f281d8 kernel32: Move the 16-bit PE module functions to kernel16.c. 2009-10-08 11:12:20 +02:00
Alexandre Julliard 8c11d71f0f kernel32: Add a 64-bit flag to the MODULE_GetBinaryType return value. 2009-08-12 17:04:38 +02:00
Alexandre Julliard 4a59ac76f1 kernel32: Check for a 32-bit NT header before getting module address range in MODULE_GetBinaryType. 2009-08-12 17:04:38 +02:00
Alexandre Julliard 5e4f0cf5ca kernel32: Return the dll flag in MODULE_GetBinaryType for 16-bit modules too. 2009-08-12 17:04:38 +02:00