Commit graph

49 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
ae5a02e808 server: Update the active hooks bitmaps when hooks are added / removed. 2024-06-26 17:00:18 +02:00
Rémi Bernon
cd8bbea138 server: Move hooks struct initialization within add_hook.
And some run_hook_in_current_thread logic in a separate helper.
2024-06-26 17:00:18 +02:00
Rémi Bernon
f784374bcb server: Keep a reference on the desktop the hook are registered for. 2024-06-26 17:00:18 +02:00
Alexandros Frantzis
bf1da68aaa server: Pass desktop to get_first_global_hook. 2024-06-07 21:00:10 +02:00
Alexandre Julliard
c954e5b9e6 server: Avoid using wine/port.h.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-10-07 18:03:11 +02:00
Alexandre Julliard
d6ef9401b3 server: Use the object type information to implement access mapping.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-05 22:53:46 +01:00
Alexandre Julliard
c6f2aacb57 server: Add a type descriptor to all server objects.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-02-04 21:25:32 +01:00
Alexandre Julliard
2e51f9aae3 server: Add an object operation to retrieve an object name.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-09-22 16:55:08 +02:00
Jacek Caban
b2a546c92d server: Introduce kernel_object struct for generic association between server and kernel objects.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:55:15 +01:00
Alexandre Julliard
f55db7882d server: Add link_name and unlink_name object operations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 21:07:19 +09:00
Gerald Pfeifer
509d0f06ce server: Replace 1 << 31 by 1u << 31 to avoid shift overflow in in get_active_hooks. 2015-09-07 15:04:01 +09:00
Alexandre Julliard
457a847849 server: Only avoid running low-level hooks in processes currently suspended by a debugger. 2011-06-17 11:54:29 +02:00
Alexandre Julliard
437a838470 server: Don't run low-level hooks in debugged processes. 2011-04-05 13:36: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
f0396489e6 server: Increment the usage count of the global table also when starting a local hook. 2011-02-24 12:15:38 +01:00
Alexandre Julliard
e4faa12900 server: Make sure that last error doesn't get set during thread cleanup. 2009-12-01 15:10:23 +01:00
Alexandre Julliard
cc55fd317a server: Make hook procedures client_ptr_t instead of void pointers. 2008-12-29 17:35:35 +01:00
Alexandre Julliard
8382eb01b2 server: Return correct object types in the get_directory_entry request. 2007-12-05 18:16:42 +01:00
Rob Shearman
c1707d8938 server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk. 2007-10-04 12:30:52 +02:00
Alexandre Julliard
04a9f93f62 user32: Thread-local hooks need a module if they don't belong to the current process. 2007-08-22 12:19:00 +02:00
Alexandre Julliard
7e71c1ddee server: Add an open_file() function to the object operations. 2007-03-22 11:44:29 +01:00
Andrew Talbot
b1788c8462 server: Replace inline static with static inline. 2007-03-17 20:05:05 +01:00
Michael Stefaniuc
5cecceccb2 server: Remove redundant NULL check before free() (found by Smatch). 2006-10-10 12:56:16 +02: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
533f519950 user32: Store the prev_unicode hook flag on the client side. 2006-10-05 14:04: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
Alexandre Julliard
6d85f3bf21 server: Fixed low-level hardware hooks.
The hook thread field has been reused for win events, so it no longer
works for low-level hardward hooks. Use the owner field instead.
2006-01-27 12:12:15 +01:00
Alexandre Julliard
28beba31d6 server: Added infrastructure for access rights mapping. 2005-12-12 14:57:40 +01:00
Ge van Geldorp
1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Vitaliy Margolen
baffcb95d3 Add name_lookup function in object_ops. 2005-11-22 14:55:42 +00:00
Alexandre Julliard
4a40b2eefb Store the global hooks table in the desktop object. 2005-07-11 18:05:50 +00:00
Alexandre Julliard
92fec7b67a Keep track of the windows and hooks used by a thread to properly
refuse to change the thread desktop when it's in use.
2005-06-28 19:37:52 +00:00
Alexandre Julliard
b9b1ea9c9f Added a close_handle method to the object operations, and use it to
implement registry notifications and the strange behavior of
CloseHandle on winstation/desktop handles.
2005-06-09 15:39:52 +00:00
Alexandre Julliard
63342353bc Store a bitmap of active hooks on the client side to try to avoid
server calls for hooks that are not set.
2005-05-11 13:03:15 +00:00
Mike McCormack
f92fff66a2 Implemented NtSignalAndWaitForSingleObject. 2005-04-24 17:35:52 +00:00
Dmitry Timoshkov
6dba0a7718 Add support for winevent hooks. 2005-02-03 16:40:20 +00:00
Dmitry Timoshkov
ed04d36b5d Add more tests for old style hooks and winevent hooks, make them pass
under Wine.
2005-01-27 11:14:19 +00:00
Alexandre Julliard
e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard
ca3ac8f155 Run WH_KEYBOARD_LL and WH_MOUSE_LL hooks in the context of the thread
that set the hook.
2003-07-11 21:55:58 +00:00
Alexandre Julliard
d55e7f1e9b Store the hook table in the thread queue instead of the thread
structure, and make sure the queue is allocated when setting a hook.
2003-07-03 18:16:48 +00:00
Alexandre Julliard
e66207ebfc Moved all references to file descriptors out of the generic object
structure.
Changed the poll()-related routines to deal with file descriptors
instead of objects and integrated poll support into fd.c.
2003-02-19 00:33:32 +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
Alexandre Julliard
863637b158 Started moving functions that deal with Unix file descriptors to a
separate fd object. This will be needed for file locking.
2003-01-30 00:26:44 +00:00
Alberto Massari
66da6c85e8 The handler for the server message get_next_hook was returning the
module name of the current hook, instead of the next one.
2002-12-17 21:01:01 +00:00
Alexandre Julliard
14e68ba7fe Added support for system-wide hooks. 2002-11-20 19:54:32 +00:00
Alexandre Julliard
775fcfdee5 Work around to make system-global hooks at least run in the thread
that set them.
2002-10-31 22:07:29 +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