Commit Graph

139 Commits

Author SHA1 Message Date
Alexandre Julliard 1deefb84ee kernel32: Use RtlCreateUserProcess() to start new processes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard 83e520f556 kernel32: Move exec process functionality to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 22:58:00 +01:00
Alexandre Julliard b0199ea2fe ntdll: Load the main binary directly in ntdll when possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 19:24:19 +01:00
Alexandre Julliard 051a8ddd04 ntdll: Support running .exe.so binaries in RtlCreateUserProcess().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 12:34:28 +01:00
Alexandre Julliard 326df4c180 ntdll: Support running a builtin without corresponding file in RtlCreateUserProcess().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 11:03:54 +01:00
Alexandre Julliard 98238aa873 ntdll: Disallow changing DEP flags on 64-bit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 16:51:21 +02:00
Akihiro Sagawa aade0bf7e3 ntdll: Add exception handling around DbgBreakPoint.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47509
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:07 +02:00
Jacek Caban 5e0b0d3521 server: Rename cpu_type_t to client_cpu_t.
To avoid conflicts with mac headers.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:43:53 +02:00
Jacek Caban 7f9faf10c7 ntdll: Implement DbgUiIssueRemoteBreakin.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:42:04 +02:00
Martin Storsjo 044461e8a6 ntdll: Avoid truncating a nonzero exit code to zero in unix.
On Windows, the exit codes can use the full 32 bit range, while
on unix, they are truncated to the lowest 8 bits. If the intended
exit code is nonzero, to indicate failure, but the lower 8 bits
are zero (like when winedbg tries to exit with EXCEPTION_WINE_STUB,
80000100), the observed exit code used to be zero, indicating
successful execution.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-15 22:04:39 +02:00
Alexandre Julliard 6466a17a8e ntdll: Reset stdio file descriptors when passed invalid handles.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-07 15:03:58 -05:00
Nikolay Sivov 19bf03ed4b ntdll: Add NtSuspendProcess()/NtResumeProcess() implementation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:13:36 +02:00
Brendan McGrath 87917df887 kernel32: Allow double quote style escape in argv.
Two quotes together (within outer quotes) represents a single
quote (with the first quote acting as an escape character)

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46721
Signed-off-by: Brendan McGrath <brendan@redmandi.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-04 13:13:29 +01:00
Alexandre Julliard 013c51aca0 makefiles: Create 64-bit wine loader symlinks in the WoW64 build tree.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-11-26 14:21:29 +01:00
Alexandre Julliard c998667bf0 ntdll: Also return the SECTION_IMAGE_INFORMATION data from RtlCreateUserProcess().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 16:58:08 +02:00
Alexandre Julliard 5cc8bcf0b0 ntdll: Implement RtlCreateUserProcess().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-24 16:58:08 +02:00
Andrew Wesie 86878fe00b ntdll: Stub for ProcessCookie in NtQueryInformationProcess.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-17 18:28:18 +02:00
Michael Müller 69029d70f6 ntdll: Implement ProcessImageFileNameWin32 in NtQueryInformationProcess.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-05 06:57:37 -06:00
Michael Müller ab3c0a3e0a ntdll: Implement ProcessPriorityClass in NtQueryInformationProcess.
Allows Process Hacker to show process priority.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-03-01 19:25:56 +01:00
Martin Storsjo 4415653f84 ntdll: Implement NtFlushInstructionCache using __clear_cache where available.
The configure check needs to be done with a more elaborate test than
just AC_CHECK_FUNC, since it's a built-in function in clang and errors
out if invoked with no parameters.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 22:26:46 +01:00
Alex Henrie 146cf041d9 ntdll: Always fill PagefileUsage counter with a nonzero value on Linux.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-17 21:57:12 +02:00
Alex Henrie 19a79f4228 ntdll: Implement ProcessVmCounters for Linux for other processes.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-09 16:37:42 -05:00
Alex Henrie bf7a97e5d3 ntdll: Implement ProcessVmCounters for Linux.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:38 +01:00
Alex Henrie 08ea8280d3 ntdll: Don't report false memory statistics for other processes.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-21 20:52:38 +01:00
Austin English 08f04c5a6e ntdll: Add NtResumeProcess stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 17:31:56 +09:00
Austin English bd6f749c16 ntdll: Add NtSuspendProcess stub.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-09 21:59:58 +09:00
Snorri Sturluson 1f9fe124b2 ntdll: Fill in memory counters under OS X.
Signed-off-by: Snorri Sturluson <snorri.sturluson@ccpgames.com>
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:13 +09:00
Sebastian Lackner 1980834c7d ntdll: ProcessDebugFlags should return debug_children flag instead of !debugger_present.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:14:43 +01:00
Sebastian Lackner 4a1629c411 ntdll: Avoid possible deadlock by using _exit() in NtTerminateProcess.
When threads are killed with SIGQUIT some locks can be in an undefined
state, and it not safe to call exit handlers.
2015-07-17 14:29:04 +09:00
André Hentschel f78bd7f4d9 ntdll: Enable wow64 on ARM64. 2015-05-08 14:54:47 +09:00
Hans Leidekker faf70e2fbd ntdll: Fix calculation of process and thread affinity masks on systems with a large number of processors. 2015-01-21 15:31:16 +01:00
Qian Hong d45bda3014 ntdll: Fixed buffer size checking for ProcessWow64Information on 64bit in NtQueryInformationProcess. 2015-01-15 11:39:42 +01:00
André Hentschel 2692b9d2ca ntdll: Trace NtFlushInstructionCache on x86_64. 2013-12-17 16:36:28 +01:00
Alexandre Bique 5af5179313 ntdll: Fixme once for NtFlushInstructionCache(). 2013-12-16 16:11:36 +01:00
Dmitry Timoshkov b92c82c942 server: Add support for NtTerminateProcess(0). 2013-04-15 16:45:33 +02:00
Alexandre Julliard baa04014eb ntdll: Implement the ProcessAffinityMask case in NtQueryInformationProcess. 2011-04-14 19:57:34 +02:00
Steven Wallace b3369e06c7 ntdll: implemented ProcessDebugFlags in NtQueryInformationProcess. 2011-03-30 15:10:01 +02:00
Juan Lang a4331aaf5d ntdll: Implement NtSetInformationProcess for ProcessDefaultHardErrorMode. 2010-08-16 16:39:53 +02:00
Juan Lang 9cb3664bb7 ntdll: Implement NtQueryInformationProcess for ProcessDefaultHardErrorMode. 2010-08-16 16:39:49 +02:00
Andrew Nguyen d7956bab54 ntdll: Fix the status code for ProcessDebugObjectHandle class in NtQueryInformationProcess when the debugger is absent. 2010-07-28 16:28:19 +02:00
Henri Verbeet f0a5045254 ntdll: Improve support for the ProcessDebugPort info class in NtQueryInformationProcess(). 2010-03-15 15:56:42 +01:00
Henri Verbeet 4ce43cd919 ntdll: Fix the ProcessDebugPort information length in NtQueryInformationProcess(). 2010-03-15 15:56:02 +01:00
Alexandre Julliard e7810c8bc6 ntdll: Make it possible to use RtlGetNtGlobalFlags before the TEB is initialized. 2010-01-22 12:32:40 +01:00
Dan Kegel 0f556bf803 ntdll: Implement RtlGetNtGlobalFlags(), add related defines to winternl.h. 2009-11-30 16:13:08 +01:00
Andrey Turkin f2432a8bc2 ntdll: Handle invalid pointers in NtQueryInformationProcess(ProcessDebugObjectHandle). 2009-10-06 16:13:16 +02:00
Andrey Turkin 2e86453f0a ntdll: Accept ProcessDebugObjectHandle in QueryInformationProcess. 2009-09-30 14:31:57 +02:00
Juan Lang c7b1423521 ntdll: Don't allow setting a zero process affinity. 2009-09-29 13:29:36 +02:00
Michael Karcher be90ae2fc3 ntdll: Fix DEP status initialization. 2009-09-15 16:41:23 -05:00
Alexandre Julliard 5e30947d0b ntdll: Return the expected length in NtQueryInformationProcess. 2009-08-27 19:47:58 +02:00
Michael Karcher ca4c571818 ntdll: Add handing of MEM_EXECUTE_OPTION_PERMANENT. 2009-08-18 11:19:55 +02:00
Michael Karcher 7aa1f6c346 ntdll: Add ProcessExecuteFlags handling to NtQueryInformationProcess. 2009-08-18 11:17:44 +02:00
Michael Karcher 137799cbfc ntdll: Fix ProcessExecuteFlag logic. 2009-08-03 17:22:56 +02:00
Alexandre Julliard 12c90b04dc ntdll: Support querying the Wow64 state of other processes. 2009-07-07 11:38:19 +02:00
Alexandre Julliard 747d58d211 ntdll: Add management of the Wow64 filesystem redirection flag. 2009-07-06 15:08:39 +02:00
Alexandre Julliard 7e47d19d9a ntdll: Set the WOW64 flag according to the server supported CPUs. 2009-04-03 17:05:29 +02:00
Mikołaj Zalewski 9c9532265d kernel32: Implement QueryFullProcessImageFileNameW. 2009-03-31 18:05:55 +02:00
Alexandre Julliard 913e792b57 server: Store process/thread affinity as a 64-bit value. 2009-01-19 14:15:51 +01:00
Alexandre Julliard 6a548b1e9d ntdll: Fix the various structures returned by NtQuerySystemInformation for 64-bit. 2009-01-03 14:55:32 +01:00
Alexandre Julliard fa8643805b server: Make TEB and PEB client_ptr_t instead of void pointers. 2008-12-31 15:09:59 +01:00
Alexandre Julliard f2c4e09e80 server: Make module handles always 64-bit. 2008-12-29 16:47:51 +01:00
Maarten Lankhorst 768160e944 ntdll: Make all exported wine functions CDECL. 2008-12-17 15:02:25 +01:00
Alexandre Julliard d1b3d484f7 server: Add functions for conversions between server object handles and pointer-style handles. 2008-12-08 16:05:17 +01:00
Dmitry Timoshkov 97f2cbc1ea ntdll: Add support for NtSetInformationProcess(ProcessExecuteFlags). 2008-09-04 11:53:00 +02:00
Alexandre Julliard 3bf12b9aca server: Don't force the process affinity to 1, leave it up to the client. 2008-01-17 13:40:03 +01:00
Rob Shearman bf2a35b78d server: Change the get_dll_info server request to allow retrieving the image file name of a process.
Implement NtQueryInformationProcess(ProcessImageFileName).
2007-11-20 14:29:09 +01:00
Alexandre Julliard 156b205eb5 server: Add support for system processes, that can be signaled to exit when all non-system processes are done. 2007-06-06 20:33:13 +02:00
Dmitry Timoshkov e142779b09 ntdll: Fix compilation warnings in 64-bit mode. 2007-05-23 13:10:20 +02:00
Dmitry Timoshkov 737b9e5acd winternl.h: Make the fields of the PROCESS_BASIC_INFORMATION structure use same type width as a PSDK one. 2007-05-23 13:04:58 +02:00
Alexandre Julliard aaf477f292 server: Change the timeout handling to use NT-style 64-bit timeouts everywhere. 2007-04-17 20:08:59 +02:00
Hans Leidekker f7b0ba7aa7 ntdll: Win64 printf format warning fixes. 2006-10-18 12:35:26 +02:00
Alexandre Julliard 3ca608b1b3 ntdll: Renamed the NTDLL_get/from_server_timeout functions since they don't deal only with timeouts. 2006-07-26 14:49:13 +02:00
Stefan Siebert 026dd2d88a ntdll: Implementation of process CreationTime and ExitTime. 2006-07-21 13:27:16 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Alexandre Julliard f2d7dd645e server: Use attributes instead of inherit flag in process and thread requests. 2005-12-09 12:13:11 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Eric Pouech b09582a890 Implemented kernel32 process affinity handling on top on ntdll. 2005-09-27 10:52:10 +00:00
Eric Pouech b3badc7dd3 - rewrite kernel32:{Set|Get}PriorityClass on top of ntdll equivalent
- priority for process in wineserver is now the NTDLL form (no longer
  the kernel32 one)
2005-09-06 10:25:11 +00:00
Alexandre Julliard 55ad6cc520 Implemented a few trivial ntdll functions that have been added in
recent Windows versions.
2005-08-02 11:38:51 +00:00
Dmitry Timoshkov 1dc18952ae Use SIZE_T type for size variables in NTDLL when appropriate. 2005-07-15 10:01:30 +00:00
Felix Nawothnig db6a238f28 Replace stubs for information classes in NtQueryVirtualMemory and
NtQueryInformationProcess by more descriptive messages.
2005-07-05 14:05:58 +00:00
Eric Pouech 6d68a03d4f Implemented OpenProcess on top of NtOpenProcess. 2005-06-27 11:12:11 +00:00
Paul Vriens fbf0aeaa43 Change ProcessBasicInformation to the same behavior as the rest.
Use KERNEL_USER_TIMES for ProcessTimes.
Add tests for vm, io, times and handlecount info classes.
Fixes for -Wstrict-prototypes warnings.
2005-06-21 20:22:01 +00:00
Mike McCormack 04f9f1b066 Don't include winbase.h or winerror.h when not necessary. 2005-06-21 09:52:40 +00:00
Paul Vriens db9396f68b Stub implementations for ProcessVmCounters, ProcessTimes and
ProcessHandleCount.
Changed ProcessIoCounters to match windows behavior.
2005-06-20 11:42:02 +00:00
Mike McCormack 5b2d5fd758 Use HANDLE instead of HKEY in the NT API. 2005-06-17 13:58:33 +00:00
Paul Vriens 93f887250a Return STATUS_INVALID_INFO_CLASS for non-implemented classes.
Return STATUS_ACCESS_VIOLATION if no buffer given.
Added tests for ProcessBasicInformation.
2005-06-14 12:25:02 +00:00
Mike McCormack e3d8853bb8 Moved FlushInstructionCache to ntdll. 2004-08-04 18:15:04 +00:00
Eric Pouech b0fd2ade62 - Added ProcessBasicInformation class to ntdll.NtQueryInformationProcess.
- Make use of it in kernel32.
2004-06-14 17:02:00 +00:00
Eric Pouech c3e6c095e1 Implemented kernel32.GetIoProcessCounters and stubbed
ntdll.NtQueryProcessInformation(ProcessIoCounters).
2003-09-19 00:06:45 +00:00