Commit graph

111 commits

Author SHA1 Message Date
Rémi Bernon
03aa9e13e7 services: Use a separate allocation for NotifyParamsArray[0].params.
The pointer might be freed by RPC NdrPointerFree, which will try to use
a dedicated free call for the array elements, and fail.
2023-01-24 18:15:41 +01:00
Alex Henrie
6136b54757 services: Use standard C functions for memory allocation. 2022-12-01 10:24:10 +01:00
Eric Pouech
8edc86c1b3 services: Enable compilation with long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-02-07 10:59:10 +01:00
Alistair Leslie-Hughes
4a18232e45 services: Check correct permission for QueryServiceConfig2W.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50412
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 22:03:29 +02:00
Alexandre Julliard
4e8fcc41ca ntdll: Replace __wine_make_process_system by a Wine-specific NtSetInformationProcess() class.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 18:31:27 +02:00
Jacek Caban
a4b0732451 services: Use nameless unions.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-03-23 09:32:34 +01:00
Zebediah Figura
c0977fcbec services: Make svcctl_{Lock, Unlock}ServiceDatabase() into a no-op.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-28 11:21:45 +02:00
Jefferson Carpenter
4dfd5f22f4 services: Initialize OVERLAPPED Offset and OffsetHigh.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48735
Signed-off-by: Jefferson Carpenter <jeffersoncarpenter2@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-11 22:59:33 +01:00
Zebediah Figura
4f8dfdba3d services: Do not overwrite the service type in SetServiceStatus().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-04 21:14:53 +02:00
Zebediah Figura
946e1b2f6b services: Report a PID of 0 for drivers.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-04 09:39:54 +02:00
Alexandre Julliard
32d7838da7 services: Build with msvcrt.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-05-01 10:40:06 +02:00
Jacek Caban
8a2347baff services: Associate notify handle with service handle instead of service entry.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 22:23:28 +01:00
Jacek Caban
ac3f571e56 services: Store a list of service handles in service_entry.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-28 22:23:25 +01:00
Dmitry Timoshkov
b5c1a8f635 services: Add a 3000 ms timeout to StartService.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-04-09 19:58:14 +02:00
Andrew Eikum
b29157e101 services: Fix reading past end of struct (Coverity).
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-12 16:24:47 +01:00
Andrew Eikum
73e8d0e6a5 services: Add support for service status change notifications.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-23 18:28:38 +01:00
Hans Leidekker
251c9ccff7 advapi32: Fix QueryServiceConfig2 on Wow64.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 21:06:52 +01:00
Hans Leidekker
445996d31b advapi32: Fix EnumServicesStatusEx on Wow64.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 21:06:48 +01:00
Hans Leidekker
ac0744d450 advapi32: Fix EnumServicesStatus on Wow64.
The structures returned by this function contain pointers, which breaks on Wow64 if
the client is 32-bit (the service manager always runs in a 64-bit process).

This patch introduces a variant of ENUM_SERVICE_STATUS with offsets instead of pointers
and converts the structures on the client side.

The downside is that we need to buffer the data, but in return we can get rid of the
dummy buffer pointer.

Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-08 21:06:40 +01:00
Bernhard Übelacker
de7220e255 advapi32: Fix ChangeServiceConfig2 when given a null description.
Signed-off-by: Bernhard Übelacker <bernhardu@mailbox.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-12 19:41:06 +02:00
Jacek Caban
69608af0a9 services: Call RpcMgmtWaitServerListen in RPC_Stop.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 19:59:30 +02:00
Sebastian Lackner
f628cbbaa1 services: Add a separate winedevice service for each kernel driver.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 21:21:29 +09:00
Sebastian Lackner
1c5affa205 advapi32: Unify service startup and control handling.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-31 22:22:59 +09:00
Sebastian Lackner
bc8f74f92f services: Remove synchronization for CloseThreadpoolCleanupGroupMembers.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-22 12:51:30 +09:00
Sebastian Lackner
039471ec37 services: Allocate a separate status_changed_event for each service.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 15:31:43 +09:00
Sebastian Lackner
9dfa1022e9 services: Use threadpool API instead of custom wait implementation.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:14 +09:00
Sebastian Lackner
4c01feb714 services: Hold startup lock before calling service_start.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:14 +09:00
Sebastian Lackner
36ccc45db6 services: Track number of services per process.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:13 +09:00
Sebastian Lackner
b08ce1ae80 services: WaitForSingleObject returns a DWORD result.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:13 +09:00
Sebastian Lackner
46a974856f services: Add a grab_service function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 00:09:36 +09:00
Sebastian Lackner
cafcf6448f services: Remove service_terminate function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 14:45:04 +09:00
Sebastian Lackner
5137bfd4ba services: Ignore error in callback only for ControlService requests.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 14:44:50 +09:00
Sebastian Lackner
fac8ec9389 services: Unlink process immediately after service stopped.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 14:44:30 +09:00
Sebastian Lackner
46b2746938 services: Store process id in the process object.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 14:43:25 +09:00
Sebastian Lackner
cbc5de1c5f services: Fix handling of user defined service controls.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 22:25:09 +09:00
Sebastian Lackner
8f8626feef services: Implement functionality to transfer extra data when sending service control.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 16:17:29 +09:00
Sebastian Lackner
5f2b96b859 services: Preparation to allow arbitrary data in service RPC messages.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 16:16:04 +09:00
Sebastian Lackner
37097ce95c services: Track services and processes separately.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 16:25:58 +09:00
Sebastian Lackner
168af6e750 services: Hold a reference to process in svcctl_ControlService.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 21:06:11 +09:00
Sebastian Lackner
fa593d4d87 services: Pass a process argument to send_control function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:42 +09:00
Sebastian Lackner
7fc3107b4c services: Initialize service ref_count directly in service_create.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Sebastian Lackner
7fc3f72de7 services: Move process related fields into a separate struct.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 15:26:59 +09:00
Sebastian Lackner
00b1184f10 services: Store a separate variable instead of clearing control_mutex.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 15:26:57 +09:00
Sebastian Lackner
6780c20342 services: Fix calculation of service timeout.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:29:02 +09:00
Sebastian Lackner
4931f5fbe9 services: Get rid of unnecessary locks.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:29:00 +09:00
Sebastian Lackner
34fd639801 services: Do not distinguish between shared/exclusive lock.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:28:58 +09:00
Sebastian Lackner
0819c739ec services: Remove pipe argument from service_send_command function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:28:55 +09:00
Sebastian Lackner
20633b292b services: Consistently use InterlockedIncrement to increment refcount.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:28:53 +09:00
André Hentschel
67e5e8edf6 services: Fix access adjustment by reordering code (Clang).
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-24 11:59:20 +01:00
Nikolay Sivov
ebbb8fa5da services: Fix GetNotifyResults() prototype. 2015-03-05 21:17:56 +09:00