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
Alexander Yaworsky
e849a56673
Check service database name in OpenSCManager().
2004-12-09 16:52:10 +00:00
Alexander Yaworsky
9087fb2000
Notify StartService when service control dispatcher has been
...
started. Otherwise StartService terminates service process.
2004-12-08 14:01:26 +00:00
Alexander Yaworsky
e2b9000b84
Implemented RegisterServiceCtrlHandler, ControlService.
2004-12-07 14:24:58 +00:00
Mike McCormack
4bda758157
Stub implementations for DecryptFile, EncryptFile and
...
GetServiceDisplayName.
2004-12-06 16:17:08 +00:00
Alexander Yaworsky
bb1466e861
Implemented SetServiceStatus, QueryServiceStatus.
2004-12-06 11:35:22 +00:00
Alexander Yaworsky
e6985ab3a5
Basic implementation of service control dispatcher.
2004-12-02 19:51:41 +00:00
Alexander Yaworsky
78b64795d7
Introduced service thread.
2004-12-01 15:31:34 +00:00
Eric Pouech
0a258964c2
Const correctness fixes.
2004-11-30 21:38:57 +00:00
Alexander Yaworsky
8109cfd443
Merge Unicode and ASCII versions of StartServiceCtrlDispatcher.
...
Implement StartServiceCtrlDispatcherA on the top of
StartServiceCtrlDispatcherW.
Get rid of HEAP_strdupWtoA.
2004-11-30 17:29:03 +00:00
Alexander Yaworsky
970a877995
Move up SERV_* functions.
2004-11-21 15:50:08 +00:00
Jason Edmeades
d80247ef67
- Stub SetServiceObjectSecurity to pretend to work (return true).
...
- Change QueryServiceObjectSecurity so it initializes the ACL with a
null DACL, and return as though it worked.
- Changed QueryServiceStatus to tell if the service is running by the
presence of some named shared storage - copied from StartService when
it checks to see if its already running.
2004-11-10 01:31:39 +00:00
Juan Lang
0fca5acba8
- implement LookupPrivilegeName
...
- correct LookupPrivilegeValue (had a buffer overrun and sometimes
returned incorrect LUIDs for well-known values)
- make AllocateLocallyUniqueId less obviously incorrect
- add a bunch of test cases
2004-11-04 04:52:17 +00:00
Mike McCormack
5bc8077511
Implement ChangeServiceConfig2A using ChangeServiceConfig2W.
2004-10-21 20:57:09 +00:00
Mike McCormack
2e82a0965b
Implement ChangeServiceConfigA using ChangeServiceConfigW.
2004-10-21 19:51:53 +00:00
Alexander Yaworsky
d9c9bfd779
Start only first service in the service table.
2004-09-27 20:35:27 +00:00
Alexander Yaworsky
31ec065bfd
Restructured code of StartServiceCtrlDispatcherA/W.
2004-09-25 00:28:42 +00:00
Alexander Yaworsky
9d590d5059
Pass arguments to the service program.
2004-09-21 00:23:32 +00:00
Alexander Yaworsky
6a36f28f2a
Pass argv[0] (service name) to the service program.
2004-09-16 20:27:31 +00:00
Alexander Yaworsky
8484d3fbae
Proper finalization in StartServiceW.
2004-09-14 19:39:19 +00:00
Mike McCormack
7d3431ed1d
Stub implementation for QueryServiceObjectSecurity.
2004-09-14 19:25:35 +00:00
Alexander Yaworsky
37180dd6d5
Implemented LockServiceDatabase and UnlockServiceDatabase.
2004-09-10 21:12:25 +00:00
Mike McCormack
8100e0eec2
Return the correct error when OpenService is called with a
...
non-existing service.
2004-09-06 20:28:32 +00:00
Hans Leidekker
411fc5f164
Fix signed/unsigned comparison warnings.
2004-09-02 23:00:53 +00:00
Alexander Yaworsky
7db2149f65
Implemented QueryServiceConfigA.
2004-09-01 17:29:00 +00:00
Alexander Yaworsky
871635c650
Expand ImagePath in QueryServiceConfigW.
2004-08-31 18:50:39 +00:00
Alexander Yaworsky
3ab2818948
Sanity check when closing service handle.
2004-08-31 17:32:05 +00:00
Alexander Yaworsky
5f115371ce
Changed SC_HANDLEs from HKEYs to pointers to internal structures.
2004-08-30 23:57:03 +00:00
Alexander Yaworsky
968e252149
StartService must pass full command line to service program.
2004-08-26 18:10:01 +00:00
Aric Stewart
4a18630fef
Let StartServiceCtrlDispatcher handle services not started by
...
StartService.
2004-08-17 22:29:01 +00:00
Jon Griffiths
50ce0844ba
Documentation fixes.
2004-04-23 21:32:34 +00:00
Francois Gouget
6a6c85c6d8
Make Unicode const strings static so they are not copied to the stack
...
each time we enter the function.
2004-04-19 20:12:14 +00:00
Alexandre Julliard
bea945eed9
OpenServiceW: don't use the requested service access rights for the
...
registry key access rights, they are not the same thing.
2004-04-12 22:18:39 +00:00
Aric Stewart
3dc71b65a7
Better handling of some service functions.
2003-12-13 03:25:37 +00:00
Huw Davies
28c2ea07ce
Don't crash if lpDependencies is NULL.
2003-12-11 04:26:20 +00:00
Mike McCormack
9b513ad686
Stub implementations for ChangeServiceConfigA/W.
...
Implement CreateServiceW and call it from CreateServiceA.
Partial implementation of QueryServiceConfigW.
2003-12-02 03:48:53 +00:00
Alexandre Julliard
b10dcfe3b9
Make sure we always use the same name for the semaphore (spotted by
...
Ben A L Jemmett).
2003-10-10 00:05:49 +00:00
Alexandre Julliard
e37c6e18d0
Fixed header dependencies to be fully compatible with the Windows
...
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Francois Gouget
9591836ffb
'sizeof type' is best avoided as it won't always compile (e.g. 'int
...
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Matthew Davison
620323e294
Removed some Unicode -> Ascii cross-calls.
2003-01-24 00:45:51 +00:00
Matthew Davison
60009b9a56
Removed calls to HEAP_strdupAtoW.
2003-01-23 23:07:38 +00:00
Matthew Davison
6f2a071df1
Remove some calls to HEAP_strdupAtoW from advapi32.
2003-01-20 23:23:12 +00:00
Uwe Bonnes
574d4a91a6
Stubs for Un|LockServiceDatabase.
2003-01-14 19:31:44 +00:00
Steve Lustbader
f1e1fd05eb
Assorted Win2k/WinXP stubs.
2002-11-25 20:50:53 +00:00
Michael Stefaniuc
cbacde5256
Compile the advapi32 dll with -DSTRICT.
2002-10-25 19:17:33 +00:00
Alexandre Julliard
7375597fe2
Fixed some handle type mismatches and added a few casts in prevision
...
of void* handles.
2002-07-31 19:26:03 +00:00
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Dimitrie O. Paun
693cca5d4d
Make FIXMEs more grep-able.
2002-01-29 03:12:19 +00:00
Francois Gouget
ea31cf0a57
Fix LUID definition.
2001-11-20 18:52:20 +00:00
Francois Gouget
3bb9a36ee0
Spelling, grammar and a bit of comment formatting fixes.
2001-10-22 19:04:32 +00:00
Patrik Stridvall
d0a41774a3
Documentation ordinal fixes.
2001-02-14 23:11:17 +00:00
James Juran
f4d5fefb0a
Add <string.h> to files that needed it.
2001-01-26 20:43:40 +00:00
Andreas Mohr
18a9d7417d
Cosmetics.
2001-01-17 21:52:42 +00:00