Maarten Lankhorst
768160e944
ntdll: Make all exported wine functions CDECL.
2008-12-17 15:02:25 +01:00
Alexandre Julliard
3249b40f70
advapi32: Reimplemented ChangeServiceConfig2W in services.exe.
2008-11-26 14:35:30 +01:00
Alexandre Julliard
cd3805336e
advapi32: Always pass a valid argv pointer to a service even if there are no arguments.
2008-09-25 11:19:39 +02:00
Paul Vriens
ce64e0d055
advapi32: Prevent a crash when passing an allowed NULL parameter.
2008-08-22 11:32:09 +02:00
Andrew Talbot
414cdc0475
advapi32: Sign-compare warnings fix.
2008-07-23 13:54:17 +02:00
Dan Kegel
0161606b53
advapi32: Don't test buffer length if buffer is null.
2008-05-27 20:39:38 +02:00
Andrew Talbot
cca1854e96
advapi32: Remove unused file-static variables.
2008-05-20 15:43:54 +02:00
Alexandre Julliard
33914a1bf4
services: Send the service name in the control requests.
...
Only start a single dispatcher thread for all services.
2008-05-08 18:08:41 +02:00
Alexandre Julliard
ef07d83405
Include wine/port.h everywhere we use exceptions.
2008-04-29 20:18:49 +02:00
Marcus Meissner
fbc236107d
advapi32: Initialize hLock.
2008-04-18 13:57:15 +02:00
Rob Shearman
fe7e786ace
advapi32: Add exception handling around all service RPC calls.
2008-04-11 12:14:24 +02:00
Andrew Talbot
2ae8e87616
advapi32: Do not call MIDL_user_free() with pointer to stack memory.
2008-04-07 13:39:32 +02:00
Rob Shearman
9bc84d81df
wineboot: Start services.exe on startup instead of on demand in the advapi32 services code.
2008-04-02 11:55:24 +02:00
Rob Shearman
9d834fc180
advapi32: Remove some unused services functions.
2008-04-01 19:11:09 +02:00
Alexandre Julliard
9bb129d17b
advapi32: Silence the pipe read error in the normal case.
2008-03-31 17:26:07 +02:00
Rob Shearman
b8348b95a6
services: Remove dependency on service name being determined correctly in order for the two ends on the control pipe to meet up.
...
Instead use the mechanism used by native which uses
\\.\pipe\net\NtControlPipeN.
Also remove the service startup event set by StartServiceCtrlDispatcher
as we wait for the service status to change instead.
2008-03-29 11:51:39 +01:00
Rob Shearman
9a6fc01d84
services: Move ControlService and StartServiceW from advapi32.dll to services.exe.
...
This also changes the architecture such that services.exe is the server
end of the control pipe and the service is the client end.
2008-03-29 11:51:34 +01:00
Rob Shearman
7afd9a977a
services: Move LockServiceDatabase and UnlockServiceDatabase from advapi32.dll to services.exe.
2008-03-29 11:51:01 +01:00
Rob Shearman
b48714b148
services: Move SetServiceStatus and QueryServiceStatusEx to services.exe.
2008-03-29 11:50:57 +01:00
Mikołaj Zalewski
010dcb168b
services: Move GetServiceDisplayName to services.exe and implement GetServiceKeyName.
2008-03-29 11:17:33 +01:00
Mikołaj Zalewski
76d4eeebff
services: Move ChangeServiceConfigW implementation from advapi32.dll to services.exe.
2008-03-29 11:17:07 +01:00
Mikołaj Zalewski
a363b9a066
services: Move QueryServiceConfigW from advapi32.dll to services.exe.
2008-03-29 11:16:43 +01:00
Mikołaj Zalewski
a2156fc348
services: Move CreateService, OpenService and DeleteService implementations from advapi32.dll to services.exe.
2008-03-29 11:15:59 +01:00
Mikołaj Zalewski
4275fbf603
services: Start a local RPC server.
2008-03-29 11:15:05 +01:00
Austin English
06d429d6b6
Spelling fixes.
2008-03-27 20:48:19 +01:00
Stefan Leichter
6cb602c6db
advapi32: Partly implemented QueryServiceConfig2A/W.
2008-03-26 14:13:07 +01:00
Paul Vriens
e92121d41e
advapi/service: Give service its own debug channel.
2008-03-14 11:21:53 +01:00
Maarten Lankhorst
284f86183c
advapi: Check if service really exists before bombing out in CreateService.
2008-02-22 11:55:12 +01:00
Rob Shearman
b2f4c7737b
advapi32: Fix the size calculation in StartServiceW.
...
Calculating an open-ended structure using sizeof doesn't yield an
accurate size because of alignment.
2008-02-04 13:03:16 +01:00
Paul Chitescu
038c3a264b
advapi32: Accept a NULL lpServiceStatus in ControlService.
2008-01-10 12:07:22 +01:00
Alexandre Julliard
781c3b9c6a
advapi32: Fix the length written to the pipe for the start message.
2008-01-07 12:18:11 +01:00
Alexandre Julliard
3133280d08
advapi32: Don't wait for 20 seconds if a service fails to start.
2008-01-04 12:50:11 +01:00
Alexandre Julliard
7593fac632
advapi32: Start non-interactive services in a separate window station.
2007-12-20 16:44:36 +01:00
Alexandre Julliard
eb2d8458a3
advapi32: Move the EnumDependentServicesA/W stubs in service.c where they belong.
...
Make the stubs return success.
2007-12-20 15:00:42 +01:00
Alexandre Julliard
c673b2284d
advapi32: Return from StartServiceCtrlDispatcher when all services are stopped.
2007-12-19 18:28:20 +01:00
Alexandre Julliard
a12b9c52da
advapi32: Replace the list of services with an array.
2007-12-19 17:02:12 +01:00
Alexandre Julliard
1f11ad8288
advapi32: Use exponential backoff when waiting for a service to start.
2007-12-19 15:07:20 +01:00
Alexandre Julliard
865bb0a67a
advapi32: Reimplement RegisterServiceCtrlHandler on top of RegisterServiceCtrlHandlerEx.
2007-12-19 15:05:04 +01:00
Tim Schwartz
65d2f8a68d
advapi32: service_control_dispatcher(): Fixed invalid pipe test to display GetLastError() before it gets overwritten.
2007-12-05 13:47:00 +01:00
Gerald Pfeifer
f874126bec
advapi32: Remove untriggerable check.
2007-11-19 13:51:45 +01:00
Louis Lenders
22e9da0dd7
advapi32: Improve stub for EnumServicesStatusExA a bit.
2007-10-15 16:56:11 +02:00
Mikolaj Zalewski
a8b8ddd865
advapi32: Fix GetServiceDisplayNameA for cchBuffer == 0.
2007-09-28 11:30:00 +02:00
Mikolaj Zalewski
2ba324738d
advapi32: The lpServiceStartName should default to LocalSystem for Win32 services.
2007-09-27 12:49:35 +02:00
Christian Gmeiner
bb3a968d30
advapi32: fix some compiler warnings when using -Wsign-compare.
2007-09-25 14:12:46 +02:00
Mikolaj Zalewski
c5c0a26f60
advapi32: QueryObjectSecurity should return a self-relative security descriptor and not overflow the buffer.
2007-09-18 10:47:50 +02:00
Lionel Debroux
82ef8d7239
advapi32: Replace SERV_free by HeapFree.
2007-09-12 14:09:17 +02:00
Mikolaj Zalewski
ec58b4485a
advapi32: Obtain the process id locally.
2007-08-23 13:35:41 +02:00
Mikolaj Zalewski
346fbb32e1
advapi32: Return an error if we try to start an already running service.
2007-08-23 13:35:34 +02:00
Paul Vriens
9b8e9516ab
advapi32/service: Be a bit more consistent.
2007-07-30 14:59:20 +02:00
Paul Vriens
9c2d8c73aa
advapi32/service: Fix GetServiceDisplayNameA for service with no displayname.
2007-07-30 14:59:13 +02:00
Paul Vriens
07af2fe2b5
advapi32/service: Set correct error when the service doesn't exist.
2007-07-30 14:46:14 +02:00
Paul Vriens
dc6653887c
advapi32/service: Fix buffersize calculations for GetServiceDisplayNameW.
2007-07-27 12:50:31 +02:00
Paul Vriens
95d2f04611
advapi32/service: Forward GetServiceDisplayNameA to GetServiceDisplayNameW.
2007-07-27 12:50:19 +02:00
Paul Vriens
83d8cbcc48
advapi32/service: Handle is checked before servicename.
2007-07-24 11:26:00 +02:00
Paul Vriens
4c24492d31
advapi32/service: lpBinaryPathName is mandatory.
2007-07-20 11:45:09 +02:00
Paul Vriens
af27e2159f
advapi32/service: Some tests for DeleteService.
2007-07-19 11:57:01 +02:00
Paul Vriens
f8f6340a69
advapi32/service: Check for duplicate displayname.
2007-07-19 11:56:39 +02:00
Paul Vriens
6c63fa627e
advapi32/service: Check combination of service-type and start-type.
2007-07-16 22:47:09 +02:00
Paul Vriens
f09359cda4
advapi/service: Check servicetype and starttype.
2007-07-13 12:28:25 +02:00
Paul Vriens
d470e688c4
advapi/service: Create specific access rights for service handles.
2007-07-13 12:27:40 +02:00
Paul Vriens
137eb037b9
advapi/service: Check for empty servicename and binaryname.
2007-07-12 12:58:29 +02:00
Paul Vriens
c011369aab
advapi/service: Check if we have enough access rights to create a service.
2007-07-12 12:58:16 +02:00
Paul Vriens
5dab8935b9
advapi/service: First tests (and fixes) for CreateService.
2007-07-12 12:58:08 +02:00
Paul Vriens
13b3b724c6
advapi/service: Fix possible handle leak.
2007-07-12 12:57:47 +02:00
Paul Vriens
05fec6c871
advapi/service: Simplify DeleteService by using RegDeleteTree.
2007-07-12 12:57:41 +02:00
Paul Vriens
14ab7d766f
advapi32: Create specific access rights for service control manager handles.
2007-07-11 11:59:39 +02:00
Paul Vriens
06d6a03d45
advapi32: Handle to Service Control Manager is checked first.
2007-07-09 12:16:52 +02:00
Paul Vriens
ff62d6cf42
advapi32/service: Don't rely blindly on type.
2007-06-28 11:00:35 +02:00
Paul Vriens
9c6a5dfa85
advapi32/service: Make sure we fill all struct members.
2007-06-28 11:00:23 +02:00
Paul Vriens
dcef0bbf71
advapi32/service: Return (more) correct needed buffersize.
2007-06-27 14:32:28 +02:00
Paul Vriens
169af787d2
advapi32/service: Fix wrong key.
2007-06-27 14:32:28 +02:00
Paul Vriens
160b55cb2a
advapi32/service: Use the correct registry key for the service account.
2007-06-27 14:32:27 +02:00
Alexandre Julliard
9aa4235117
advapi32: Mark service processes as system processes, and exit when all user processes are done.
2007-06-06 20:33:30 +02:00
Alexandre Julliard
84918394d2
advapi32: Convert the service list to a standard list.
2007-06-05 13:47:35 +02:00
Rolf Kalbermatter
2e67fa32b1
advapi32: Return error on NULL service name to GetServiceDisplayNameA/W.
2007-05-21 19:11:08 +02:00
Rolf Kalbermatter
ac5dca86ff
advapi32: Fix return value to indicate error when NULL string is passed in.
2007-05-21 12:30:44 +02:00
Alexandre Julliard
020bd631ed
advapi32: Launch winedevice.exe when asked to start a kernel driver service.
2007-05-17 16:52:18 +02:00
Rolf Kalbermatter
fef82e74b6
advapi32: Add access flags to service handle data.
2007-05-16 14:27:46 +02:00
Alexandre Julliard
0a5e707a39
advapi32: Fix set process request, a pipe instance can only handle one request.
2007-05-08 21:35:34 +02:00
Rolf Kalbermatter
d0790f1bfe
advapi32: Implement GetServiceDisplayNameW.
2007-05-08 13:46:31 +02:00
Rolf Kalbermatter
7af5a9d87f
advapi32: Implement GetServiceDisplayNameA.
2007-05-08 13:46:26 +02:00
Rolf Kalbermatter
4b7c5097c3
advapi32: Store process ID into status structure on startup.
2007-05-08 13:45:56 +02:00
Rolf Kalbermatter
a60f60ac43
advapi32: Make service_start_process return the pid to the caller.
2007-04-24 11:53:32 +02:00
Rolf Kalbermatter
e782b836be
advapi32: Make struct service_data_t have the new SERVICE_STATUS_PROCESS struct.
2007-04-24 11:53:24 +02:00
Rolf Kalbermatter
c5339be92b
advapi32: Add EnumServicesStatusExA/W stub implementation.
2007-04-23 14:38:38 +02:00
Rolf Kalbermatter
a2fbbd9209
advapi32: Make SERVICE_STATUS_PROCESS match the declaration in MSDN and PSDK.
2007-04-23 14:37:29 +02:00
Rolf Kalbermatter
6c33eb4410
advapi32: Make QueryServiceStatus use QueryServiceStatusEx.
2007-04-20 13:20:15 +02:00
Rolf Kalbermatter
af5f6325e5
advapi32: Implement QueryServiceStatusEx.
...
Based on a patch by Anastasius Focht.
2007-04-20 13:18:59 +02:00
Andrew Talbot
3c75d9380a
advapi32: Constify some variables.
2007-04-03 11:22:20 +02:00
Jacek Caban
112257e59d
advapi: Constify argument of StartServiceCtrlDispatcher[AW] functions.
2007-03-20 12:39:36 +01:00
Andrew Talbot
39fb7839a7
advapi32: Constify some variables.
2007-03-12 12:01:24 +01:00
Alexandre Julliard
53d838a1bf
advapi32: Create the service manager registry key if needed.
2007-02-28 20:51:25 +01:00
Alexandre Julliard
ee1706035a
advapi32: Reimplement QueryServiceConfigA on top of QueryServiceConfigW.
2007-02-28 20:47:51 +01:00
Alexandre Julliard
6a9222fc39
Fixed some printf warnings caused by using sizeof.
2006-10-12 14:58:25 +02:00
James Hawkins
ca118989f4
advapi32: Remove redundant NULL check before SERV_free (found by Smatch).
2006-10-06 15:20:31 +02:00
Hans Leidekker
4301816d47
advapi32: Win64 printf format warning fixes.
2006-10-03 16:21:58 +02:00
Robert Shearman
cc5aceb4f0
advapi32: Fix the service function being called when extended is
...
either set or not set (reported by Andrey Turkin).
2006-07-05 11:44:27 +02:00
Robert Shearman
19d4378a54
advapi32: Implement RegisterServiceCtrlHandleExW.
2006-07-03 11:33:13 +02:00
Alexandre Julliard
553bb2591f
advapi32: Don't use sizeof in traces to avoid printf format warnings.
2006-06-13 14:09:02 +02:00
Alexandre Julliard
7bbc1d68c5
advapi32: Make some variables static and/or const.
2006-06-12 13:41:15 +02:00