Commit Graph

318 Commits

Author SHA1 Message Date
Alexandre Julliard 02442b52a4 user32: Return the cursor position in send_hardware_message and use it to update the driver's position. 2012-01-09 12:14:36 +01:00
Bernhard Loos 507d929051 ntoskrnl: Correctly implement PsGetCurrentThread/ProcessId. 2011-10-28 13:04:00 +02:00
Bernhard Loos 07b681e04a ntdll: Implement the NamedPipeConfiguration value for the FilePipeLocalInformation class of NtQueryInformationFile. 2011-10-08 19:56:08 +02:00
Bernhard Loos 039bacb0c9 server: Store sharing state for named pipes. 2011-09-27 16:54:00 +02:00
Vincent Povirk 4c83138f72 server: Implement RegisterHotKey/UnregisterHotKey. 2011-06-21 14:51:08 +02:00
Alexandre Julliard 45075b2f9c server: Add separate requests for getting/setting the thread context during suspend. 2011-05-06 12:25:34 +02:00
Alexandre Julliard abe5440e32 server: Also return the previous cursor position in the set_cursor request. 2011-04-20 20:29:16 +02:00
Alexandre Julliard 900352bc6b server: Store a mapping instead of a file for process dlls. 2011-04-18 14:45:32 +02:00
Alexandre Julliard 21e86f60ec server: Post a message to the desktop window when the cursor clip rectangle changes. 2011-04-05 13:36:57 +02:00
Alexandre Julliard 6576703fac server: Return the time of last change along with the current cursor position. 2011-03-31 20:15:56 +02:00
Alexandre Julliard c7efa293f0 server: Invoke low-level hardware hooks directly from the server side. 2011-03-02 21:26:13 +01:00
Alexandre Julliard 02e30f5f77 server: Pass the original hardware input data to the server and set the message parameters on the server side. 2011-03-02 11:34:15 +01:00
Alexandre Julliard bc4afb0786 server: Don't pass a thread id to send_hardware_message, determine it from the window. 2011-03-01 13:21:58 +01:00
Alexandre Julliard 02e8174067 server: Store the cursor clip rectangle in the server. 2011-02-25 13:50:19 +01:00
Alexandre Julliard 183c41b49a server: Store the global cursor position in the server. 2011-02-25 11:25:15 +01:00
Piotr Caban b614a15328 server: Return multiple events in read_changes. 2011-01-19 14:13:33 +01:00
Eric Pouech 91e3a40e41 server: Removed the no longer used bare parameter out of get_console_mode request. 2010-11-08 13:30:25 +01:00
Alexandre Julliard 5702324b37 user32: Add support for RTL window layouts in MapWindowPoints. 2010-09-22 20:27:52 +02:00
Alexandre Julliard 7295b6746d user32: Add support for fetching window rectangles relative to various origins. 2010-09-07 14:31:30 +02:00
Eric Pouech 4fdcdefccf server: Report in get_console_mode request whether it's a bare console or not. 2010-09-01 14:01:02 +02:00
Eric Pouech 6f32644aa0 server: Allow a screen buffer to be attached to a given fd (for bare consoles). 2010-09-01 14:01:02 +02:00
Eric Pouech b39a8d9ea2 server: Enhanced the console input object so that it doesn't require a wineconsole to be running. 2010-09-01 14:01:02 +02:00
Mike Kaplinskiy ae5ad61fa8 server: Add accept_into_socket to accept into an initialized socket. 2010-08-31 14:23:49 +02:00
Alexandre Julliard a2ca2ebd50 server: Change the removable fd flag to a cacheable flag to make it possible for fd users to set it dynamically. 2010-08-23 17:09:45 +02:00
Alexandre Julliard 4c1f36cb68 server: Return the total length of the target in query_symlink. 2010-06-30 16:11:03 +02:00
Alexandre Julliard c545982472 server: Return the cursor information for a thread input, and use it for GetCursorInfo. 2010-05-11 11:27:03 +02:00
Alexandre Julliard cd28e2be7c server: Return the current cursor when queuing a hardware message. 2010-04-21 11:07:31 +02:00
Alexandre Julliard 3044d734b1 server: Fix structure padding for requests that have a reply. 2010-04-20 21:25:38 +02:00
Alexandre Julliard 8159d4eb99 server: Add support for storing the cursor and show count in the thread input structure. 2010-03-22 17:52:23 +01:00
Henri Verbeet f0a5045254 ntdll: Improve support for the ProcessDebugPort info class in NtQueryInformationProcess(). 2010-03-15 15:56:42 +01:00
Alexandre Julliard 658dae988d server: Add support for returning the object name in NtQueryObject. 2010-01-08 13:01:50 +01:00
Rob Shearman bd56916f90 server: Extend get_token_user server call to also retrieve SIDs for the token's owner or primary group. 2009-11-17 15:14:54 +01:00
Henri Verbeet 27705d51e1 server: Store the Unix name in the fd. 2009-11-12 15:31:38 +01:00
Alexandre Julliard 9018e13c5e server: Add support for allocating purely client-side user handles. 2009-10-12 17:07:04 +02:00
Andrey Turkin 3eaecf0476 kernel32: Always use ANSI version of OutputDebugString. 2009-10-06 12:03:35 +02:00
Alexandre Julliard da8acbc47d server: Define an architecture-independent structure for process startup info. 2009-08-21 20:00:12 +02:00
Mike Kaplinskiy b05774ee7e server: Change cancel_async to take an optional iosb and only_thread. 2009-08-18 12:26:30 +02:00
Alexandre Julliard 6056e8a52b server: Return the process CPU in the get_process_info request. 2009-07-07 11:37:47 +02:00
Hans Leidekker 24af6f3e01 server: Add requests to set and retrieve default dacl. 2009-04-21 15:40:26 +02:00
Alexandre Julliard 5316dd011f server: Define a generic context structure instead of using the platform-specific version. 2009-04-08 19:59:23 +02:00
Alexandre Julliard 279defe66e server: Verify that the client is using a supported CPU type. 2009-04-03 14:59:12 +02:00
Alexandre Julliard 653d2c4a8d server: Store the type of CPU that the client is running on. 2009-04-03 14:49:10 +02:00
Alexandre Julliard b06a919c3c server: Use the thread entry point field to pass the PEB in the initial thread. 2009-04-03 14:30:34 +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 7f1dc355ec server: Generate padding in request structures from make_requests.
Add compile-time asserts to check that the structures have the expected layout.
2009-01-19 14:01:39 +01:00
Alexandre Julliard db6e45488d server: Get rid of the support for module snapshots, it is no longer needed. 2008-12-09 11:49:37 +01:00
Alexandre Julliard cdce50f5be ntdll: Store the per-page committed status in the server for anonymous file mappings. 2008-11-05 12:31:37 +01:00
Alexandre Julliard ba71579809 server: Added a request to unlink an object from its namespace. 2008-10-20 16:21:06 +02:00
Alexandre Julliard 05b4181cac server: Implemented the server side of Get/SetLayeredWindowAttributes. 2008-09-12 15:30:47 +02:00
Alexandre Julliard 0f9484a124 server: Set the visible rect in the set_window_pos request again.
This essentially reverts 2f69329a37.
We really need the visible rect to be set atomically with the rest of
the window position info.
2008-07-03 20:33:12 +02:00
Alexandre Julliard 161160f05a server: Keep a file descriptor open to the config directory to make sure we don't write the registry in the wrong place. 2008-04-17 12:41:34 +02:00
Alexandre Julliard 2f69329a37 server: Add a separate request to set the window visible rect. 2008-01-22 20:01:21 +01:00
Alexandre Julliard af268c6211 server: Redesign the server shutdown processing.
System processes are now killed only after the server persistence
delay has expired. New processes are not allowed to start during
shutdown.
2008-01-03 11:40:03 +01:00
Dmitry Timoshkov e735e199ad user32: Reimplement IsHungAppWindow. 2007-12-28 11:43:57 +01:00
Alexandre Julliard a5e38b332d server: Partial implementation of NtQueryDirectoryObject. 2007-12-05 16:57:41 +01:00
Alexandre Julliard d30b5742ed server: Implemented EnumWindowStations and EnumDesktops. 2007-12-05 16:45:32 +01:00
Andrey Turkin 27cb7c7274 ws2_32: Make certain winsock functions generate i/o completion messages. 2007-11-15 14:23:23 +01:00
Rob Shearman 5356bfde2c server: Add a new get_security_object call for getting the security descriptor of an object.
Use it to implement NtQuerySecurityObject.
2007-10-03 11:16:45 +02:00
Andrey Turkin d1a8155882 server: Allow completion object to be attached to an fd object. 2007-09-28 13:17:18 +02:00
Andrey Turkin 477582401b server: Implement server-side completion queues and operations on them. 2007-09-26 13:56:43 +02:00
Rob Shearman 3f431a0646 server: Add get_token_statistics server call and use it to implement the TokenStatistics and TokenType levels for NtQueryInformationToken. 2007-09-14 14:43:46 +02:00
Alexandre Julliard fec5117e91 server: Merge APC processing into the select request.
This is needed to return the correct value when one of the handles
being waited on is set to signaled state by the APC.
2007-07-16 16:14:45 +02: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
Alexandre Julliard aafcfe7663 server: Add support for retrieving results of queued ioctls once they are done. 2007-05-08 20:45:44 +02:00
Alexandre Julliard 78b75108cd server: Add request to retrieve the next pending ioctl call for a device manager. 2007-05-08 20:40:26 +02:00
Alexandre Julliard b43dc15c8a server: Add support for generic device objects managed from the client side. 2007-05-08 20:28:37 +02:00
Alexandre Julliard 6105a93be6 server: Moved the FSCTL_PIPE_LISTEN implementation to the server. 2007-04-18 16:26:37 +02:00
Alexandre Julliard 3684dc181c server: Move the FSCTL_PIPE_WAIT ioctl implementation to the server. 2007-04-17 22:07:07 +02:00
Alexandre Julliard 2669af73df server: Move the server part of device unmounting to the ioctl processing. 2007-04-16 14:54:52 +02:00
Alexandre Julliard 8c46095484 server: Implement the FSCTL_PIPE_DISCONNECT ioctl on the server side. 2007-04-16 14:51:29 +02:00
Alexandre Julliard 635714397f server: Add infrastructure for ioctl server request. 2007-04-16 14:45:03 +02:00
Alexandre Julliard 0cb29f47ca server: Add support for associating a file descriptor to a message queue. 2007-04-04 18:02:01 +02:00
Alexandre Julliard de1866d4fd server: Implement the open_file method for named pipes.
Get rid of the open_named_pipe request, we can now use a normal open_file_object.
2007-03-22 16:47:46 +01:00
Alexandre Julliard 806bb49eda server: Implement the open_file method for mailslots.
Get rid of the open_mailslot request, we can now use a normal open_file_object.
2007-03-22 16:36:54 +01:00
Andrew Talbot b1788c8462 server: Replace inline static with static inline. 2007-03-17 20:05:05 +01:00
Juan Lang c2cb296277 ntdll: Implement NtAllocateLocallyUniqueId with server call. 2007-03-07 13:45:11 +01:00
Rob Shearman d342d1413c server: Add get_token_impersonation_level server call for retrieving the impersonation level from a token.
Add tests for GetTokenInformation(TokenImpersonationLevel).
2007-02-21 19:49:37 +01:00
Vitaliy Margolen b0e9d7e0b5 ntdll/server: Implement NtSetSecurityObject. With tests. 2007-02-15 14:19:24 +01:00
Vitaliy Margolen bae75024a4 server/ntdll: Simplistic implementation of NtQueryObject(ObjectBasicInformation). 2007-01-25 12:48:35 +01:00
Alexandre Julliard fb40dc4099 server: Added mechanism for returning results of APC calls.
Defined APC_VIRTUAL_ALLOC and APC_VIRTUAL_FREE requests.
2007-01-15 22:24:40 +01:00
Alexandre Julliard 8700c4341b server: Get rid of the server-side file descriptor cache management. 2006-11-02 20:52:05 +01:00
Alexandre Julliard 2f80fcd88d server: Changed the get_next_hook request to allow retrieving the current hook too. 2006-10-05 14:05:48 +02:00
Alexandre Julliard 3a4c04dce4 server: Make sure to completely kill processes before returning from a wineserver -k. 2006-08-14 20:40:31 +02:00
Alexandre Julliard d3b3096756 server: Split the queuing of hardware messages into a separate send_hardware_message request. 2006-08-09 16:45:26 +02:00
Alexandre Julliard ce40ef18df server: Rename the wait_input_idle request to better reflect what it does.
Also get rid of the unused timeout field.
2006-07-26 11:48:25 +02:00
Alexandre Julliard 0f273c17ff server: Added data_size_t type to represent sizes in the server protocol.
Make it an unsigned int to save some space on Win64, if we need to
transfer more than 4Gb over the server pipe something is seriously
wrong.
2006-07-26 11:11:03 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman 3396a66ee7 server: Retrieve the groups for a token from the server. 2006-05-15 14:25:43 +02:00
Mike McCormack 0193211946 server: Fill in NtNotifyChangeDirectoryFile's buffer with change data. 2006-02-06 11:58:55 +01:00
Mike McCormack 08351071fd server: Fix the file notification interface to use directory handles. 2006-01-27 12:13:56 +01:00
Robert Shearman a40ce39340 user: Fix WM_QUIT message ordering from PostQuitMessage.
Added a new server call as PostQuitMessage should set a flag in the
message queue to return the WM_QUIT message when there are no other
pending messages, rather than posting a message to the thread queue as
it does at the moment.
2006-01-17 13:14:31 +01:00
Alexandre Julliard 67505c00af server: Support for opening devices.
Added support for opening devices directly with the server when they
don't correspond to a Unix file.
2005-12-12 14:27:45 +01:00
Vitaliy Margolen 80444dfe51 Implement symbolic link object in wineserver.
Implement Nt[Create|Open|Query]SymbolicLinkObject.
Change tests accordingly.
2005-11-30 19:22:57 +01:00
Vitaliy Margolen 3c6bdcce53 Implement directory object in wineserver.
Implement Nt[Create|Open]DirectoryObject.
Change tests accordingly.
2005-11-29 17:21:05 +01:00
Alexandre Julliard ead9b062e3 Added a struct unicode_str to encapsulate object names. 2005-11-18 16:31:18 +00:00
Alexandre Julliard f62f6e8fe1 Don't cache file descriptors open on removable devices. 2005-08-24 18:33:50 +00:00
Alexandre Julliard 38502f70eb Added a separate set_handle_cached_fd request instead of abusing
set_handle_info for that.
2005-08-23 18:43:50 +00:00
Alexandre Julliard 964815bc42 Added an unmount_device request that invalidates all file descriptors
open on a given Unix device.
2005-08-08 15:11:03 +00:00
Robert Shearman 91eaea53ae - Change the default user SID to match what was previously returned by
NtQueryInformationToken.
- Implement TokenUser for NtQueryInformationToken.
- Add a function for getting the user's registry path from a SID.
2005-07-18 13:22:55 +00:00
Alexandre Julliard 9ad5628639 Moved the server start time to the init_thread request and got rid of
the init_process request (based on a patch by Felix Nawothnig).
2005-07-14 10:32:46 +00:00
Alexandre Julliard 4391be583e Get rid of the boot_done request. 2005-07-13 14:20:13 +00:00
Alexandre Julliard 6aa0cc5e3c Load the HKEY_CURRENT_USER branch at server startup too. 2005-07-11 20:44:59 +00:00
Alexandre Julliard 8c518808b8 Put in place the basic infrastructure to allow supporting multiple
desktop windows.
2005-07-08 11:37:40 +00:00
Alexandre Julliard 1bf96e09a9 Beginnings of support for window stations and desktops. 2005-06-08 18:44:50 +00:00
Robert Shearman 4ad93416a8 Implement NtAccessCheck. 2005-05-24 12:32:18 +00:00
Eric Pouech e6267369b2 - changed ATOM support in wineserver to match NTDLL needs
- adapted accordingly kernel32 atom support
2005-05-10 15:15:50 +00:00
Mike McCormack abe70f7648 Implemented GetLastInputInfo. 2005-04-28 12:04:14 +00:00
Robert Shearman d2ea92d14e - Clean up well-known privileges.
- Implement checking tokens for privileges in the server.
- Implement NtPrivilegeCheck.
2005-04-22 21:17:15 +00:00
Mike McCormack 2ab6a775bd Implement mailslots. 2005-03-30 19:02:15 +00:00
Alexandre Julliard 4d32a475a8 Replace the link_window request by a set_parent request since that is
all link_window is used for at this point.
Get rid of the WIN_LinkWindow/UnlinkWindow functions.
2005-03-25 10:38:56 +00:00
Alexandre Julliard 0bc8377bc2 Create a new server request for accepting hardware messages instead of
abusing reply_message.
Allow passing the determined window for a hardware message back to the
server to have it redispatch the message to the correct thread.
2005-03-23 10:33:17 +00:00
Alexandre Julliard 5054c79880 Try to always keep the server window Z-order in sync with the X11 one
using a heuristic based on mouse and expose events.
2005-03-21 12:37:00 +00:00
Robert Shearman b0f02b28b9 - Implement AdjustTokenPrivileges, DuplicateTokenEx and
GetTokenInformation (for the TokenPrivileges case).
- Return STATUS_NO_TOKEN for OpenThreadToken when there is no token
  set for the thread.
2005-02-11 11:52:06 +00:00
Eric Pouech 4634447d6b - got rid of include/async.h
- fixed some overlapped issues in socket handling
- moved kernel32.CancelIo implementation to ntdll
2005-01-14 19:54:38 +00:00
Robert Shearman 7572b125b5 Implement NtQueryTimer. 2004-12-13 21:10:58 +00:00
Alexandre Julliard 5defa49979 Moved update region handling to the server. 2004-12-07 17:31:53 +00:00
Alexandre Julliard 4616dcb9a7 Moved the WindowFromPoint functionality to the server so that we can
properly take into account the window region.
2004-07-20 22:17:38 +00:00
Alexandre Julliard 618a7e5813 Added support for window regions in the server. 2004-06-29 03:53:25 +00:00
Alexandre Julliard e8d86b7cd4 Moved visible region calculation to the server. 2004-06-23 20:44:58 +00:00
Alexandre Julliard 8c29b5f0cc Removed the no longer used SMB file I/O support, we can't do reliable
file I/O in user space anyway.
2004-05-14 22:24:48 +00:00
Alexandre Julliard c07ce0571e Moved loading of the home registry files to the server, there's no
real need to make these configurable.
2004-05-07 04:13:21 +00:00
Alexandre Julliard 72f87b8c06 Use pread/pwrite everywhere to avoid changing the file position while
the client is using it.
Get rid of the no longer used truncate_file request.
2004-05-01 02:50:06 +00:00
Alexandre Julliard 18c08d307a Removed the get_file_info request. 2004-04-08 19:09:04 +00:00
Alexandre Julliard db4517010b Handle the set_file_pointer request on the client side. 2004-04-07 22:02:09 +00:00
Alexandre Julliard a1fe8b4f24 Use futimes() instead of utime() to implement SetFileTime, so that it
can be done on the client side.
2004-03-27 01:48:52 +00:00
Alexandre Julliard adc0610db7 Make the standard create_file request handle serial ports too, and
remove the create_serial request.
2004-03-18 04:08:48 +00:00
Alexandre Julliard db692c8f39 Open a real file handle for drive devices, and get rid of the server
device hacks (based on a patch by Eric Pouech).
2004-03-04 23:00:18 +00:00
Mike Hearn 43cb03be3a Implemented RegFlushKey and NtFlushKey. 2004-01-03 00:38:30 +00:00
Alexandre Julliard bfce151ae5 Added window classes in the server, and support for inter-process
GetClassWord/Long (based on a patch by Mike McCormack).
Various fixes to the class instance handling.
2003-12-10 04:08:06 +00:00
Alexandre Julliard 8d174d3f47 Store the global shell, progman and taskman windows in the server
(based on a patch by Martin Fuchs).
2003-10-07 03:40:23 +00:00
Mike McCormack 5ac945c021 Implement registry key unloading. 2003-08-19 03:08:17 +00:00
Mike McCormack 36cd6f5dbb Added a security token object in wineserver. 2003-07-24 00:07:00 +00:00
Ulrich Czekalla b2df5f9f19 - use global atoms for the format ids
- add timeout when calling XCheckTypedWindowEvent
- fix broken IsClipboardFormatAvailable; it tried to do a trick with
  EnumClipboardFormats by making incorrect assumptions
- in X11DRV_IsClipboardFormatAvailable do a quick exit if no one owns
  the selection
- add 1 second *minimum* time lapse between XSelectionOwner calls
- sync clipboard ownership between different wine processes
- prevents apps from getting into wierd state where they thought they
  didn't own the selection but they did and as a result queried
  themselves for available selection data
2003-06-23 23:02:02 +00:00
Eric Pouech 412d37f6e6 - adapted kernel32 so that it no longer (directly) manages console
handles as wineserver handles
- console input handle object is no longer waitable (input record
  synchronisation is now implemented as a simple semaphore), and removed
  FD_TYPE_CONSOLE from fd types in wineserver
- console handles now always have their two lower bit set so one can
  distinguish a console handle from a kernel object handle
- implemented some undocumented kernel32 console related APIs
  (CloseConsoleHandle, GetConsoleInputWaitHandle, OpenConsoleW,
  VerifyConsoleIoHandle, DuplicateConsoleHandle)
- allowed a few kernel32 APIs to take console pseudo-handles
  (FlushFileBuffer, GetFileType, WaitFor*Object*)
- simplified the console inheritance at process creation
- in console tests, no longer create a console if one already exists
2003-06-21 02:07:10 +00:00
Eric Pouech c00a4473bd Implement anonymous pipes on top of named pipes. 2003-05-20 04:32:53 +00:00
Alexandre Julliard 3e588e3a57 Implemented file change notifications, based on a patch by Mike
McCormack.
2003-03-26 23:41:43 +00:00
Alexandre Julliard cf27a7fa3b Changed fd operations to take a struct fd instead of a struct object.
Removed get_file_info function from object operations.
Added get_device_id request to avoid abusing get_file_info.
2003-02-14 20:27:09 +00:00
Eric Pouech 2359b57574 - no longer depend on toolhelp definitions for generating snapshots
- added get_dll_info request
2003-01-09 00:01:28 +00:00
Alexandre Julliard 8ba666f3a7 Store the keyboard state in the thread input structure on the server
side.
2003-01-08 19:56:31 +00:00
Mike McCormack 11f4b44451 Implemented registry change notifications. 2002-11-25 02:47:32 +00:00
Alexandre Julliard 0286135de3 Rewrote hook support to store the hook chain in the server.
Split off 16-bit hook functions and re-implemented them on top of the
32-bit ones; system-wide 16-bit hooks are no longer supported at this
point.
2002-10-29 00:41:42 +00:00
Alexandre Julliard 11e3523949 Rewrote caret implementation to store the information in the server. 2002-10-17 01:24:33 +00:00
Alexandre Julliard a9e8f59c95 Moved mouse capture handling into the server. 2002-10-12 01:24:37 +00:00
Alexandre Julliard 5030bda77c Reimplemented Get/SetActiveWindow, Get/SetFocus and
Get/SetForegroundWindow by storing the information in the
server. Implemented correct inter-process window activation.
2002-10-11 23:41:06 +00:00
Alexandre Julliard ab5063b217 Added server-side infrastructure for the thread input structure.
Reimplemented AttachThreadInput() and added GetGUIThreadInfo().
2002-10-11 18:50:15 +00:00
Alexandre Julliard 40043ed26f Added -k option to kill an existing wineserver. 2002-08-16 20:02:15 +00:00
Alexandre Julliard 4144b5b8fc Create the server directory and socket file in /tmp.
Use fcntl file locking to ensure exclusion on the server socket and to
better recover from crashes.
Flush the registry before closing the socket to avoid timeouts on the
client side.
Moved get_config_dir functionality to libwine.
2002-06-20 23:21:27 +00:00
Eric Pouech 93bfa0d6b1 Implementation for console control events (includes process groups
support).
2002-06-02 21:22:22 +00:00
Alexandre Julliard 5188574984 Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h. 2002-05-30 20:12:58 +00:00
Martin Wilck d15bf1c0fe Fixed handling of deferred connections in WSAAccept(). 2002-04-23 22:03:42 +00:00