Alexandre Julliard
1060567cc5
kernel32: Remove the DOS/Win16/OS2 binary distinction.
...
They all need to be run through winevdm.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-25 21:45:04 +02:00
Alexandre Julliard
57512807b9
kernel32: Reimplement GetBinaryTypeW to rely on the server for header parsing.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-25 21:45:04 +02:00
Michael Stefaniuc
fe70e0e58f
kernel32: Use the ARRAY_SIZE() macro.
...
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-08-14 10:15:59 +02:00
Zebediah Figura
0250693354
kernel32: Allow GetModuleInformation() to succeed on a WoW64 process.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Zebediah Figura
54f287d88a
kernel32: Allow GetModuleFileNameEx() to succeed on a WoW64 process.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Zebediah Figura
72e3fdf0a2
kernel32: Allow GetModuleBaseName() to succeed on a WoW64 process.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Zebediah Figura
54186a4c9f
kernel32: Allow EnumProcessModules() to succeed on a WoW64 process.
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-05-30 22:26:49 +02:00
Alexandre Julliard
e55101715c
kernel32: Implement the LOAD_LIBRARY_AS_DATAFILE_EXCLUSIVE flag.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Alexandre Julliard
e1d8c176ef
kernel32: Implement the LOAD_LIBRARY_AS_IMAGE_RESOURCE flag.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:57 +01:00
Huw Davies
1e945155f9
kernel32: Save xmm0 - 3 to work around a Delphi bug on x86_64.
...
When delay loading a symbol, Delphi saves rcx, rdx, r8 and r9 to the
stack. It then calls GetProcAddress(), pops the saved registers and
calls the function. This works fine if all of the parameters are
ints. However, since it does not save xmm0 - 3, it relies on
GetProcAddress() preserving these registers if the function takes
floating point parameters.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-07 19:38:29 +01:00
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