Commit graph

16 commits

Author SHA1 Message Date
Eric Kohl 9f0c54fcd3 [SC][SERVICES] Support SERVICE_CONTROL_PARAMCHANGE and SERVICE_CONTROL_NETBIND* control codes 2018-02-25 11:07:41 +01:00
Hermès Bélusca-Maïto c6d65fec69
[SERVICES] Use safe-string routines in some places, and do not hardcode buffer lengths. 2018-02-25 00:50:01 +01:00
Hermès Bélusca-Maïto 1aa359ec7f
[SERVICES] Send services shutdown notifications only if they accept them. 2018-02-25 00:49:58 +01:00
Hermès Bélusca-Maïto 6c097b4740
[SERVICES] Add french translation. 2018-02-25 00:49:55 +01:00
Eric Kohl 1dfbed9c3d [SERVICES][ADVAPI32] Fix the broken service stop sequence
services\database.c:
- Refactor ScmControlService() so that it can be used to send the dispatcher loop stop command.
- Separate the code to decrement the image run counter from the service image cleanup code.

services\rpcserver.c:
- RSetServiceStatus(): Stop the dispatcher loop when the image run counter is zero and remove the service image after that.

advapi32\service\sctrl.c:
- Do not terminate the service dispatcher loop when the last service is being stopped. Wait for an explicit dispatcher stop command (empty service name).

CORE-12413
2018-02-24 11:14:05 +01:00
Eric Kohl a8d256bf23 [SERVICES] Update a drivers status properly
- ScmUnloadDriver: Handle failed unload properly.
- ScmGetDriverStatus: A driver is running when its driver object was found. Otherwise it has been stopped.
- ScmControlDriver: Check a drivers status before and after unloading.

CORE-14317
2018-02-19 00:14:58 +01:00
Eric Kohl 6c9cdd84bb [SERVICES] Set a complete service status for running boot start or system start drivers 2018-02-12 15:50:30 +01:00
Eric Kohl e917471e04 [SERVICES] Fix the initial service status
- The initial dwWin32ExitCode for a disabled service is ERROR_SERVICE_DISABLED and ERROR_SRVICE_NEVER_STARTED for non-disabled services.
- The initial dwWaitHint is 2000 (2 seconds) for (user-mode) services and 0 for drivers.
- Move all driver-related code to driver.c.
2018-02-12 14:58:02 +01:00
Eric Kohl 85b71880fa [SERVICES] Update the service status after unloading a driver
Update the service status after unloading the driver and pass the new status to the caller.

CORE-14269
2018-02-10 17:02:23 +01:00
Eric Kohl 905d65b75b [SERVICES] Support the NoInteractiveServices registry value 2018-02-10 14:23:11 +01:00
Eric Kohl f0c7db730c [SERVICES] Remove the synchronous service control pipe code
Remove the synchronous service control pipe code because we are using the asynchronous service control pipe code for years.
2018-02-04 22:30:33 +01:00
Eric Kohl 2d69520595 [SERVICES] Do not delete running services.
CORE-14260
2018-01-28 00:57:58 +01:00
Erdem Ersoy ba3f074320 [TRANSLATIONS] Update the email address and add a note in the Turkish translation document (#271) 2018-01-07 22:09:42 +01:00
Pierre Schweitzer 9d91a2e8ce
[SERVICES] Fix querying the status of a registered but not started driver.
The current implementation was broken and some dead code was never called; always failing before.
This fix revives this dead code!
Extra fix: avoid derefencing potential null-ptr.
And also, as bonus, comment the function so that logic can be easily understood.

CORE-14062
2017-12-08 22:48:20 +01:00
Eric Kohl 7dd8ebcbbd [SERVICES] Use the STDCALL calling convention for all remote procedure calls. 2017-11-12 14:04:22 +01:00
Colin Finck c2c66aff7d Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00