[NET]
[reactos.git] / reactos / base / applications / network / net / cmdPause.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS net command
4 * FILE: cmdPause.c
5 * PURPOSE:
6 *
7 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
8 */
9
10 #include "net.h"
11
12 int cmdPause(int argc, wchar_t *argv[])
13 {
14 int errorCode=0;
15 SC_HANDLE hManager, hService;
16 SERVICE_STATUS status;
17 if(argc != 3)
18 {
19 puts("Usage: NET PAUSE <Service Name>");
20 return 1;
21 }
22
23 hManager = OpenSCManager(NULL, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ENUMERATE_SERVICE);
24 if(hManager == NULL)
25 {
26 printf("[OpenSCManager] Error: %d\n", errorCode=GetLastError());
27 return errorCode;
28 }
29
30 hService=OpenService(hManager, argv[2], SERVICE_PAUSE_CONTINUE);
31 if(hService == NULL)
32 {
33 printf("[OpenService] Error: %d\n", errorCode=GetLastError());
34 CloseServiceHandle(hManager);
35 return errorCode;
36 }
37
38 if(!ControlService(hService, SERVICE_CONTROL_PAUSE, &status))
39 {
40 printf("[ControlService] Error: %d\n", errorCode=GetLastError());
41 }
42
43 CloseServiceHandle(hService);
44 CloseServiceHandle(hManager);
45
46 return errorCode;
47 }
48
49 /* EOF */
50