Commit Graph

384 Commits

Author SHA1 Message Date
Rob Shearman
1f86321964 server: Make create_mutex use struct object_attributes and set the security descriptor of mutex objects. 2007-10-26 12:44:51 +02:00
Rob Shearman
b0e5fb4384 server: Make create_semaphore use struct object_attributes and set the security descriptor of semaphore objects. 2007-10-26 12:44:26 +02:00
Rob Shearman
dd9e392796 server: Use the security descriptor passed in when creating events. 2007-10-25 12:47:22 +02:00
Alexandre Julliard
235532ce28 server: Use the file_pos_t type for file sizes and offsets in the protocol structures. 2007-10-10 14:06:25 +02: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
2896540a34 server: Set the queue mask directly in get_message to avoid an extra server call. 2007-08-29 18:13:13 +02:00
Alexandre Julliard
b4edb573fd server: Message results should be stored as longs, not ints. 2007-08-29 18:01:10 +02:00
Alexandre Julliard
df13cee288 server: Store a separate flag for windows that need to be erased in WM_PAINT.
This avoids the need to invalidate the window after WM_ERASEBKGND.
2007-08-27 16:41:08 +02:00
Kirill K. Smirnov
f3e13174c7 wineconsole: Implement GetConsoleWindow. 2007-08-24 12:03:22 +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
8992f89f27 server: Remove the extra apc_arg parameter now that user APCs all require the same arg as the kernel APC. 2007-06-04 15:20:49 +02:00
Kirill K. Smirnov
9d74661856 server: Move console codepages to the server. 2007-05-11 12:41:29 +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
fd59e158a7 server: Infrastructure to return a wait handle for blocking ioctls. 2007-05-03 17:43:18 +02:00
Alexandre Julliard
133b8bc3ed server: Return a more correct fd type for anonymous files. 2007-04-23 15:13:22 +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
737148c57b server: Add a specific data type for ioctl codes so they can be printed as symbols. 2007-04-17 22:06:13 +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
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
d85121f199 ntdll: Store the file access and options in the fd cache, and get rid of the dynamic flags.
This avoids server round-trips for all file I/O.
2007-04-10 22:32:46 +02:00
Alexandre Julliard
72bff2e445 server: Add support for restarting an async I/O when the client side couldn't finish it right away. 2007-04-10 17:07:27 +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
c16eb8efd9 server: Add support for queuing a user APC upon async I/O completion. 2007-03-27 16:42:27 +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
Alexandre Julliard
94655c8493 server: Implemented the open_file method for named pipe and mailslot devices. 2007-03-22 11:52:40 +01:00
Alexandre Julliard
2082a97d45 server: Use a standard async I/O event to signal directory changes. 2007-03-21 14:50:15 +01:00
Alexandre Julliard
fa4679fea6 server: Add support for storing an event to signal upon async I/O completion. 2007-03-21 14:27:52 +01:00
Alexandre Julliard
111610c45e server: Add an async_data_t structure to store parameters for async I/O requests. 2007-03-20 20:21:12 +01:00
Alexandre Julliard
50975c81f0 server: Return the status from an async I/O APC call to the server. 2007-03-20 19:27:10 +01:00
Alexandre Julliard
eb3728d34e server: Use the common pattern for async I/O parameters in named pipe requests. 2007-03-20 19:21:15 +01:00
Juan Lang
c2cb296277 ntdll: Implement NtAllocateLocallyUniqueId with server call. 2007-03-07 13:45:11 +01:00
Alexandre Julliard
1767b4558a server: Expose areas revealed by changes to the window region. 2007-03-05 16:43:27 +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
Alexandre Julliard
89faee0194 server: Added support for the PM_QS_* flags in PeekMessage. 2007-02-21 15:21:05 +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
f3cb4f7d94 ntdll: Avoid inter-process APCs when called for the process itself. 2007-01-18 15:41:05 +01:00
Alexandre Julliard
02e2fa7798 ntdll: Implementation of inter-process NtMapViewOfSection and NtUnmapViewOfSection. 2007-01-18 15:17:51 +01:00
Alexandre Julliard
8025f79ce1 ntdll: Implementation of inter-process RtlCreateUserThread. 2007-01-18 15:02:55 +01:00
Alexandre Julliard
3410354d61 ntdll: Fix NtDuplicateObject to only close the file descriptor if it's in the same process. 2007-01-18 12:18:51 +01:00
Alexandre Julliard
c122260b9d ntdll: Implemented NtLockVirtualMemory and NtUnlockVirtualMemory. 2007-01-16 09:50:08 +01:00
Alexandre Julliard
5a1ad74a67 ntdll: Implementation of inter-process NtFlushVirtualMemory. 2007-01-15 22:31:07 +01:00
Alexandre Julliard
1ea968016f ntdll: Implementation of inter-process VirtualProtectEx. 2007-01-15 22:30:04 +01:00
Alexandre Julliard
3d00239586 ntdll: Implementation of inter-process VirtualQueryEx. 2007-01-15 22:28:42 +01:00
Alexandre Julliard
6ca1d1b081 server: Support queuing some APCs to a process instead of a thread. 2007-01-15 22:26:32 +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
4cbe867a85 ntdll: Duplicate the mapping handle on the server side for NtMapViewOfSection. 2007-01-12 14:55:31 +01:00
Alexandre Julliard
5c8421d3e7 server: Add a generic apc_call structure to make it easier to extend, and more type-safe. 2007-01-04 13:40:09 +01:00
Alexandre Julliard
49b49c30fc server: Notify the server that an APC has completed in the next get_apc call. 2007-01-04 13:17:53 +01:00
Ulrich Czekalla
4bdf4345b8 winex11.drv: Store window and drawable rects in X11DRV_PDEVICE. 2006-12-12 13:45:10 +01:00
Alexandre Julliard
8930427b21 server: Return an fd type in the get_handle_fd request. 2006-11-20 14:14:04 +01:00
Alexandre Julliard
02fc886302 ntdll: Retrieve mailslot message info from the client side. 2006-11-03 17:53:04 +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
28418cc919 ntdll: Maintain a file descriptor cache on the client side. 2006-11-02 20:48:19 +01:00
Alexandre Julliard
30b878b3b6 server: Compute the removable device flag on the server side. 2006-11-01 13:28:05 +01:00
Alexandre Julliard
85f518ac6b server: A window timer id should be an unsigned long. 2006-10-16 17:03:44 +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
81c1472449 user32: The per-window user data must be a DWORD_PTR. 2006-10-04 21:49:11 +02:00
Alexandre Julliard
e0dcf4fddb server: Rearrange a few fields to avoid wasting padding space on 64 bits. 2006-10-04 21:41:32 +02:00
Alexandre Julliard
3ad9798263 server: Pass the data for message callbacks as vararg from the client side. 2006-10-04 20:25:42 +02:00
Alexandre Julliard
29a3ce9f3a server: Return the data for callback results in the varargs part of the get_message request. 2006-10-04 16:29:45 +02:00
Alexandre Julliard
59dc456822 server: Return the data for winevent hooks in the varargs part of the get_message request. 2006-10-04 16:04:53 +02:00
Eric Pouech
8cb932ea89 ntdll: Implemented AmILastThread information class for NtQueryInformationThread. 2006-10-03 20:20:13 +02:00
Alexandre Julliard
672bfc2d62 server: Make the message extra info 64 bits on Win64. 2006-08-09 17:10:14 +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
2c2299685f user: Implementation of Get/SetWindowLongPtr for 64-bit platforms.
Also use the same code for Get/SetWindowWord.
Based on a patch by Ge van Geldorp.
2006-08-02 21:59:00 +02:00
Alexandre Julliard
c627601c3b server: Convert the server start time to the abs_time_t type. 2006-07-26 14:50:55 +02:00
Alexandre Julliard
3095a48d6f server: Convert thread creation/exit times to the abs_time_t type. 2006-07-26 14:49:55 +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
Stefan Siebert
026dd2d88a ntdll: Implementation of process CreationTime and ExitTime. 2006-07-21 13:27:16 +02:00
Alexandre Julliard
c316f0e47f server: Simplify process creation.
Pass the socket for the new process from the parent through the
environment.
Perform initialisations during the new_process request.
2006-07-19 14:00:10 +02:00
Ge van Geldorp
54afeb02de user32: Implement Get/SetClassLongPtrA/W. 2006-07-12 20:04:18 +02:00
Mike McCormack
fac494c822 server: open_console's from field should be a handle. 2006-06-07 14:30:28 +02:00
Mike McCormack
f386950fdd server: Use unsigned long for request types that are 64bit in win64. 2006-06-07 14:21:12 +02:00
Eric Pouech
1d6e2590e0 ntdll/kernel32: Pipe information.
- implemented ntdll.NtQueryInformationFile's FilePipeLocalInformation control code 
- reimplemented kernel32.GetNamedPipeInfo on top of it
- enhance current features to make this work both on client and server handles
- now also returning the number of instances
2006-05-27 12:31:01 +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
Alexandre Julliard
959bbf8b75 server: Get rid of alignment requirements in write_process_memory request.
All the alignment handling is now done in the write_process_memory
function inside the server.
2006-04-07 18:41:58 +02:00
Alexandre Julliard
1a4f6e579b user: Launch explorer to manage the desktop window. 2006-03-07 11:42:35 +01:00
Alexandre Julliard
4be3d4c12b server: Return real parent and owner in the create_window request.
Remove computing of parent and owner handles on the client side.
2006-03-06 15:00:37 +01:00
Eric Pouech
6b95c0e4b4 kernel32: ClearCommError.
ClearCommError should only deal with *communication* errors (are being
seen on the serial interface) rather than API errors (which can be
reported to the caller by the API itself).  I then removed all the
stuff related to storing the error status in the server object.
2006-02-27 13:54:43 +01:00
Alexandre Julliard
e27358ea5c server: Remove no longer needed fields in the init_process_done request. 2006-02-21 20:08:19 +01:00
Mike McCormack
e4faabfa64 server: Track created and removed directories in the tree of inodes for inotify.
Add them to or remove them from existing recursive watches.
2006-02-21 11:13:23 +01:00
Alexandre Julliard
e0330145d8 server: Remove the no longer needed exe_file parameter in the
init_process_done request.
2006-02-08 15:25:12 +01:00
Mike McCormack
0790f95589 kernel32: ReadDirectoryChangesW fixes.
ReadDirectoryChangesW remembers whether it's recording changes or not.
Don't initialize overlapped->InternalHigh.
The hEvent is cleared when ReadDirectoryChanges is called.
2006-02-07 16:50:36 +01:00
Mike McCormack
0193211946 server: Fill in NtNotifyChangeDirectoryFile's buffer with change data. 2006-02-06 11:58:55 +01:00
Alexandre Julliard
2a36dd239c server: Remove no longer used create_flags from get_startup_info request. 2006-02-05 12:33:24 +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
2878d99216 ntdll: Add debug registers to the context of all exceptions.
Maintain a local cache of the debug registers to avoid server calls
where possible.
2006-01-13 13:58:14 +01:00
Alexandre Julliard
2654be08d5 ntdll: Handle NtSetContextThread on the client side (as far as
possible) when setting the context of the current thread.
2006-01-11 20:20:32 +01:00
Eric Pouech
b7607aebdc ntdll: Correct implementation for atom query functions. 2006-01-03 17:34:43 +01:00
Vitaliy Margolen
b05340a523 ntdll: Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
Modify WaitNamedPipeW to use NtFsControlFile.
Replace struct overlapped with event.
2005-12-14 11:14:02 +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
Alexandre Julliard
03b040c51d server: Added object attributes to a few more requests. 2005-12-09 14:52:04 +01:00
Alexandre Julliard
7b910f40f2 server: Use attributes instead of inherit flag in dup_handle request. 2005-12-09 12:21:35 +01:00
Alexandre Julliard
836d07c369 server: Use attributes instead of inherit flag in token requests.
Also use the specified access rights in the open_token request.
2005-12-09 12:17:19 +01:00
Alexandre Julliard
f2d7dd645e server: Use attributes instead of inherit flag in process and thread requests. 2005-12-09 12:13:11 +01:00
Alexandre Julliard
f11d0a375f server: Use attributes instead of inherit flag in snapshot requests. 2005-12-09 12:09:44 +01:00
Alexandre Julliard
7a096601e3 server: Use attributes instead of inherit flag in console requests. 2005-12-09 12:05:20 +01:00
Alexandre Julliard
27b1aec925 server: Use attributes instead of inherit flag in file requests. 2005-12-09 12:00:48 +01:00
Alexandre Julliard
bc30303c56 server: Use attributes instead of inherit flag in socket requests. 2005-12-09 11:58:55 +01:00
Vitaliy Margolen
cf21d4d7ca Move mailslot devices into directory name space. 2005-12-05 13:30:26 +01:00
Vitaliy Margolen
babfa79436 Move named pipe objects into directory name space.
Change tests accordingly.
Add small test for WaitNamedPipe.
2005-12-05 13:09:35 +01:00
Vitaliy Margolen
348a3d912b Move mapping (section) objects into directory name space. 2005-12-02 16:13:13 +01:00
Vitaliy Margolen
7c5cb7a229 Move timer objects into directory name space. 2005-12-02 16:05:54 +01:00
Vitaliy Margolen
5daae3dfa9 Move semaphore objects into directory name space. 2005-12-02 16:01:17 +01:00
Vitaliy Margolen
f676bc8d85 Move event and mutex objects into directory name space. 2005-12-02 15:55:48 +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
86397e1d43 Fixed handling of mailslot read timeout to avoid compiler warnings. 2005-11-21 15:23:49 +00:00
Vitaliy Margolen
83ef91ce2d Replace inherit flag with object attributes in winstation and desktop
create & open. Use OBJ_OPENIF flag to create winstation & desktop.
2005-11-21 12:05:38 +00:00
Alexandre Julliard
73c72390f8 Fixed Get/SetThreadContext to work properly on suspended threads.
Added a test case.
2005-11-02 20:54:12 +00:00
Alexandre Julliard
ff7795ef4c Don't send an extra signal when waiting for a debug event, just do a
normal wait.  Return the debug event status directly as return value
of the server call.
2005-11-01 21:47:07 +00:00
Vitaliy Margolen
a996000ad5 - Send whole OBJECT_ATTRIBUTES.Attributes to the server not just an
inherit flag.
- Pass DesiredAccess to the server when creating mailslot.
2005-10-27 18:30:37 +00:00
Eric Pouech
b09582a890 Implemented kernel32 process affinity handling on top on ntdll. 2005-09-27 10:52:10 +00:00
Eric Pouech
e21aa6a184 - now passing access rights when creating a named pipe in NTDLL
- reimplemented Kernel32.CreatePipe purely on top of NTDLL APIs
- anonymous pipe handles should have the SYNCHRONIZE bit set
2005-09-26 11:02:45 +00:00
Ivan Leo Puoti
f0db7ab06b Added FSCTL_PIPE_LISTEN support. 2005-09-06 14:09:42 +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
11ad6a0ac4 Return the startup info size in the init_thread request, and allocate
the process parameters structure in ntdll instead of kernel.
2005-07-13 19:43:35 +00:00
Alexandre Julliard
4391be583e Get rid of the boot_done request. 2005-07-13 14:20:13 +00:00
Alexandre Julliard
0424f38169 Already initialize the process in the first init_thread request
instead of waiting for the init_process request.
2005-07-13 12:12:43 +00:00
Alexandre Julliard
01caa5e645 Moved the fields that depends on startup info from the init_process
request to get_startup_info.
2005-07-12 20:27:09 +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
Dmitry Timoshkov
86af38c8ca Make IsWindowUnicode work in the case when window belongs to another
process.
2005-07-07 12:02:31 +00:00
Robert Shearman
4bba21643c Add support for impersonating a token. 2005-06-20 13:18:38 +00:00
Robert Shearman
e51dd36453 Implement overlapped I/O with named pipes. 2005-06-08 19:11:46 +00:00
Alexandre Julliard
1bf96e09a9 Beginnings of support for window stations and desktops. 2005-06-08 18:44:50 +00:00
Alexandre Julliard
db412aaf60 Added a from_child parameter to the get_update_region request to allow
restarting the search from a given child, in order to avoid looping
forever on windows that don't repaint correctly.
2005-05-31 13:37:16 +00:00
Robert Shearman
4ad93416a8 Implement NtAccessCheck. 2005-05-24 12:32:18 +00:00
Robert Shearman
7bff35428b - Add new server type "struct security_descriptor".
- Add tracing for this new type.
2005-05-23 16:33:00 +00:00
Alexandre Julliard
9e73cdde39 Allow passing a string to the window property server requests instead
of an atom to avoid redundant server round-trips.
2005-05-11 19:01:10 +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