Commit graph

536 commits

Author SHA1 Message Date
Rémi Bernon 817cb4dd69 server: Remove now unnecessary active_hooks from replies. 2024-06-26 17:00:19 +02:00
Rémi Bernon 96c44adae8 win32u: Read the active hooks count from the shared memory. 2024-06-26 17:00:18 +02:00
Rémi Bernon 20f4c9af0f server: Return the desktop object locator in (get|set)_thread_desktop. 2024-06-20 23:03:26 +02:00
Rémi Bernon fac940dfac server: Create a global session shared mapping. 2024-06-20 23:03:26 +02:00
Elizabeth Figura aa0ab31571 server: Directly wake up wait asyncs when the serial mask changes. 2024-06-18 10:47:22 +02:00
Zebediah Figura be427c312b server: Generalize get_directory_entries to single_entry case. 2024-06-11 16:51:27 +02:00
Zebediah Figura af4f252ac4 ntdll: Implement reading multiple entries in NtQueryDirectoryObject.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52585
2024-06-11 16:51:27 +02:00
Alexandros Frantzis 37e7038c5c server: Implement key auto-repeat request. 2024-06-07 21:00:10 +02:00
Rémi Bernon 7cdf20267c server: Merge get_surface_region / get_window_region requests together. 2024-05-30 19:53:21 +02:00
Rémi Bernon a3b22d3bf7 win32u: Only keep DPI awareness context with window objects. 2024-05-28 20:45:11 +02:00
Paul Gofman 0884b503c9 win32u: Update last message time in NtUserGetRawInputBuffer(). 2024-05-12 16:31:50 +02:00
Paul Gofman deb273a926 ntdll: Implement NtQuerySystemInformation(SystemProcessIdInformation). 2024-05-01 16:54:00 +02:00
Paul Gofman 04a2917f6b ntdll: Store exception reporting flags in server context. 2024-04-26 23:21:57 +02:00
Rémi Bernon b053e924e8 server: Process internal messages when checking queue status. 2024-03-21 22:19:58 +01:00
Jinoh Kang e368515eef server: Generalize server request make_temporary to set_object_permanence.
Required for implementing NtMakePermanentObject().
2024-03-15 15:06:33 +01:00
Zebediah Figura 95a91bd816 ntdll: Implement NtSetInformationProcess(ProcessAccessToken). 2024-03-08 09:49:52 +01:00
Rémi Bernon a1d63d109d server: Keep track of the winstation input desktop. 2024-02-28 19:51:20 +01:00
Rémi Bernon 1664ad7d50 server: Fix rawinput buffer sizes and alignment on WoW64. 2024-02-09 11:14:07 +01:00
Rémi Bernon 2eb8950392 server: Move rawinput message conversion from win32u.
Appending the entire RAWMOUSE / RAWKEYBOARD / RAWHID + report structs
after the hardware message data, instead of using a custom intermediate
structure.
2024-02-09 11:14:07 +01:00
Alexandre Julliard e05c6c8211 server: Don't update the entry point in the image information for ARM64EC modules. 2024-02-08 17:07:22 +01:00
Paul Gofman 4c9b39964c ntdll: Implement NtQueryInformationThread(ThreadIsTerminated). 2023-11-29 20:46:55 +01:00
Alexandre Julliard efd03f40e6 server: Assign a system-wide mapping address for dynamic base modules. 2023-10-05 18:49:44 +02:00
Joel Holdsworth c7b1551e8f ntdll: Initial implementation of FileRenameInformationEx.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54997
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-10-03 21:44:04 +02:00
Dmitry Timoshkov a52cf805d2 ntdll: Implement NtCreateToken().
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
2023-08-31 19:53:16 +02:00
Eric Pouech 82b0bb3c24 server: Separate console and new group flag (CreateProcess).
We were using bit 1 of RTL_USER_PROCESS_PARAMETERS for two different cases:
- rightfully, as a sign to block ctrl-c events from being processed by
  handlers (and by default, terminating the process)
- But this was also used to request for the creation of a new process group.

This patch properly separates the two use cases, by using the
ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS (checked that Win10
behaves as this patch in RtlCreateUserProcess wrt.
RTL_USER_PROCESS_PARAMETERS ProcessGroupId usage input/output).

Introduce process_group_id in startup_info_t and use it to pass it to
server. ProcessGroupId field in RTL_USER_PROCESS_PARAMETERS is now properly
set.

Note: this will change some external behavior.
- before this patch, a child process created with Ctrl-C disabled
  (ConsoleFlags set), couldn't turn it on as the process was detached
  from unix console.
- now, SIGINT handling is moved to kernelbase (and can be turned on/off at
  application will),
- when creating a new windows group id, the child will be detached from
  unix console, so will no longer receives the SIGINT from ctrl-c in unix
  console (if parent was attached to this unix console).

Signed-off-by: Eric Pouech <epouech@codeweavers.com>
2023-08-23 17:38:51 +02:00
Zebediah Figura 0a33ac4a53 server: Move the implementation of IOCTL_AFD_GET_EVENTS to a dedicated server call. 2023-07-24 22:51:00 +02:00
Alexandre Julliard a5ff427acb ntdll: Implement NtQueryVirtualMemory(MemoryImageInformation). 2023-07-03 12:16:49 +02:00
Joel Holdsworth cc1d0e493d ntdll: Initial implementation of FileDispositionInformationEx.
This is required by Msys2 when running gpg-agent.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=54996
Signed-off-by: Joel Holdsworth <joel@airwebreathe.org.uk>
2023-06-27 22:14:15 +02:00
Alexandre Julliard 11cd51139d ntdll: Support the lower memory limit in MEM_ADDRESS_REQUIREMENTS. 2023-06-13 22:10:56 +02:00
Alexandre Julliard 2705e6c319 server: Also enforce the size of varargs data structures. 2023-06-13 22:10:56 +02:00
Alexandre Julliard 6b5561b601 server: Send the APC call data as vararg in the select request. 2023-06-06 21:51:43 +02:00
Alexandre Julliard e3049f11fa server: Send the APC call data as vararg in the queue_apc request.
To make it possible to support a larger structure.
2023-06-06 21:51:37 +02:00
Rémi Bernon 61dbfea452 server: Assume the internal clip message to be WM_WINE_CLIPCURSOR. 2023-05-30 12:25:25 +02:00
Alexandre Julliard 30040cc9d7 ntdll: Also update the entry point address when loading an ARM64X binary. 2023-05-26 21:24:08 +02:00
Alexandre Julliard f6f38e2490 server: Return STATUS_IMAGE_MACHINE_TYPE_MISMATCH when the mapping's machine differs from the process. 2023-05-25 16:21:17 +02:00
Alexandre Julliard c306e76645 server: Add a separate request to create a memory view for an image mapping. 2023-05-25 16:21:17 +02:00
Alexandre Julliard 4356fe0d83 ntdll: Support the PS_ATTRIBUTE_MACHINE_TYPE attribute for new processes. 2023-05-24 15:43:54 +02:00
Alexandre Julliard 8f9c0c825d server: Add a separate request to create a memory view for a .so builtin. 2023-05-12 17:50:26 +02:00
Alexandre Julliard fa47ea7400 server: Determine the native thread context flags on the client side. 2023-03-08 12:43:20 +01:00
Alexandre Julliard 1b9db99417 ntdll: Return the correct IOSB information when creating a named pipe. 2023-02-21 11:17:17 +01:00
Alexandre Julliard d74b084e45 ntdll: Pass the NtCreateNamedPipeFile disposition to the server. 2023-02-21 10:48:16 +01:00
Daniel Lehman 0a02b6a86a ntdll: Implement NtCancelSynchronousIoFile.
Signed-off-by: Daniel Lehman <dlehman25@gmail.com>
2022-10-17 11:22:41 +02:00
Rémi Bernon 1587e9db88 win32u: Implement NtUserGetRegisteredRawInputDevices on the client side. 2022-07-28 20:08:58 +02:00
Paul Gofman 0f337f3d8e ntdll: Fixup ICMP packet id if SOCK_DGRAM fallback is used.
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
2022-07-18 10:39:41 +02:00
Alexandre Julliard 68a69b51bb server: Return the standard status code when the key exists in NtCreateKey.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-07-05 14:19:00 +02:00
Nikolay Sivov 1fb6f27144 ntdll: Implement NtRenameKey().
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
2022-06-28 15:54:15 +02:00
Alexandre Julliard dd99319cde server: Return the full token group for TokenLogonSid.
Based on a patch by Fabian Maurer.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52845
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-25 13:24:02 +02:00
Zebediah Figura 0c7dcd9088 ntdll: Return the required length from NtQueryDirectoryObject().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-13 16:25:44 +02:00
Jinoh Kang 731a968003 server: Replace redundant send_socket status fields with force_async boolean field.
The 'status' field of send_socket_request is always either
STATUS_PENDING or STATUS_DEVICE_NOT_READY, and the 'total' field is
always zero.

Replace the 'status' field with 'force_async' boolean field, and get rid
of the 'total' field entirely.

Also, clean up the send_socket handler code a bit.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 18:30:28 +01:00
Jinoh Kang 65d12984f2 server: Attempt to complete I/O request immediately in send_socket.
Make send_socket alert the async immediately if poll() call detects that
there are incoming data in the socket, bypassing the wineserver's main
polling loop.

For sock_transmit, we always mark the async as pending and set the IOSB
(unless async allocation has failed).

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 18:30:28 +01:00