Commit Graph

224 Commits

Author SHA1 Message Date
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
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack a8b71c2727 advapi32: If we can't connect to a service's pipe, name the service in
the error message.
2006-01-10 12:10:34 +01:00
Vitaliy Margolen e74bda9d95 advapi32: Don't allocate memory for empty argument string and pass
NULL instead.
2006-01-03 12:05:32 +01:00
Rob Shearman 01a4245a51 Don't try waiting for the service process to start if the
CreateProcess call failed.
2005-11-21 12:00:16 +00:00
Markus Amsler d45811ce2a Improve c2man Documented-Total count. 2005-11-04 11:43:27 +00:00
Hans Leidekker d7161472fc Added stub for RegisterServiceCtrlHandlerEx{A,W}. 2005-11-03 09:53:27 +00:00
Rein Klazes c16e70587a - Set the LastError in OpenSCManager in case of errors;
- Accept machine names without a '\\' prefix in OpenSCManager and
  RegConnectRegistry.
- Add a regression test for that.
2005-09-15 09:31:05 +00:00
Alexandre Julliard 20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Mike McCormack 280bcf6e4a Fix gcc 4.0 warnings. 2005-08-27 10:00:38 +00:00
Kevin Koltzau bfa3077510 Properly declare handles. 2005-08-23 09:32:39 +00:00
Mike McCormack d7b9a23afd gcc 4.0 -Wpointer-sign fixes (Reg* functions). 2005-07-06 19:08:05 +00:00
Mike McCormack 74b37280b3 Silence some -Wmissing-declarations warnings. 2005-06-13 10:00:37 +00:00
Troy Rollo 8bf4d76681 Correct test of BOOL return value in ControlService. 2005-04-19 10:24:22 +00:00
Mike McCormack ddf74e6798 Implement ChangeServiceConfig. 2005-03-29 19:51:40 +00:00
Alexander Yaworsky 401d4cf42a Correct incorrect use of arguments to QueryServiceConfigA. Spotted by
Troy Rollo.
2005-03-10 11:14:04 +00:00
Troy Rollo 4021f530d7 Return an empty string for service dependencies when there are no
dependencies, rather than a NULL pointer, which causes some apps to
SEGV.
2005-03-04 12:32:50 +00:00
Troy Rollo 74e2cfb66c Correct incorrect use of arguments to QueryServiceConfigW. 2005-03-04 10:47:41 +00:00
Mike McCormack 81ed8be90d Convert services to use pipes for RPC instead of shared memory. 2005-01-24 19:33:43 +00:00
Mike McCormack 939179d681 Fix, add and rearrange winsvc.h declarations. 2005-01-14 16:50:57 +00:00
Mike McCormack c3ead97b4e Move all service stubs together, make them consistent. 2005-01-14 16:20:41 +00:00
Mike McCormack 1afd5f68f8 Cleanup service handles. 2005-01-14 15:13:40 +00:00
Hans Leidekker 0cc2031409 Stub implementations for GetKernelObjectSecurity,
GetPrivateObjectSecurity, GetServiceKeyName{A,W},
ImpersonateNamedPipeClient, InitiateSystemShutdown{A,W},
IsTokenRestricted, LogonUser{A,W}, LookupAccountNameW,
LookupPrivilegeDisplayName{A,W}, MapGenericMask,
ObjectCloseAuditAlarm{A,W}, ObjectOpenAuditAlarm{A,W},
ObjectPrivilegeAuditAlarm{A,W}, PrivilegedServiceAuditAlarm{A,W},
QueryServiceLockStatus{A,W}, SetAclInformation,
SetPrivateObjectSecurity, SetSecurityDescriptorControl,
SetServiceBits, LsaSetInformationPolicy, LsaLookupNames,
LsaEnumerateTrustedDomains.
2005-01-03 17:12:51 +00:00
Mike McCormack 816f86560e Fix CreateService's error code for a service that already exists. 2004-12-27 17:44:47 +00:00
Mike McCormack 1645ab0492 Don't use RtlCreateUnicodeStringFromAsciiz, it doesn't preserve NULL. 2004-12-27 17:10:31 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Ivan Leo Puoti a329904a3f In OpenSCManagerW() allow lpDatabaseName to be an empty string. 2004-12-21 16:05:28 +00:00