[2/3] services: Refuse to start disabled services.

Francois Gouget fgouget at codeweavers.com
Mon Aug 29 12:53:04 CDT 2011


---
 dlls/advapi32/tests/service.c |    2 +-
 programs/services/rpc.c       |    3 +++
 2 files changed, 4 insertions(+), 1 deletions(-)

diff --git a/dlls/advapi32/tests/service.c b/dlls/advapi32/tests/service.c
index 044394a..d2ef54d 100644
--- a/dlls/advapi32/tests/service.c
+++ b/dlls/advapi32/tests/service.c
@@ -2151,7 +2151,7 @@ static void test_start_stop(void)
         goto cleanup;
     }
     le = try_start_stop(svc_handle, displayname, is_nt4);
-    todo_wine ok(le == ERROR_SERVICE_DISABLED, "%d != ERROR_SERVICE_DISABLED\n", le);
+    ok(le == ERROR_SERVICE_DISABLED, "%d != ERROR_SERVICE_DISABLED\n", le);
 
     /* Then one with a bad path */
     displayname = "Winetest Bad Path";
diff --git a/programs/services/rpc.c b/programs/services/rpc.c
index fe33ce1..573b748 100644
--- a/programs/services/rpc.c
+++ b/programs/services/rpc.c
@@ -961,6 +961,9 @@ DWORD __cdecl svcctl_StartServiceW(
     if ((err = validate_service_handle(hService, SERVICE_START, &service)) != 0)
         return err;
 
+    if (service->service_entry->config.dwStartType == SERVICE_DISABLED)
+        return ERROR_SERVICE_DISABLED;
+
     err = service_start(service->service_entry, dwNumServiceArgs, lpServiceArgVectors);
 
     return err;
-- 
1.7.5.4




More information about the wine-patches mailing list