1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS net command 4 * FILE: base/applications/network/net/cmdContinue.c 5 * PURPOSE: 6 * 7 * PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org> 8 */ 9 10 #include "net.h" 11 12 INT cmdContinue(INT argc, WCHAR **argv) 13 { 14 SC_HANDLE hManager = NULL; 15 SC_HANDLE hService = NULL; 16 SERVICE_STATUS status; 17 INT nError = 0; 18 INT i; 19 20 if (argc != 3) 21 { 22 ConResPuts(StdOut, IDS_GENERIC_SYNTAX); 23 ConResPuts(StdOut, IDS_CONTINUE_SYNTAX); 24 return 1; 25 } 26 27 for (i = 2; i < argc; i++) 28 { 29 if (_wcsicmp(argv[i], L"/help") == 0) 30 { 31 ConResPuts(StdOut, IDS_GENERIC_SYNTAX); 32 ConResPuts(StdOut, IDS_CONTINUE_SYNTAX); 33 ConResPuts(StdOut, IDS_CONTINUE_HELP_1); 34 ConResPuts(StdOut, IDS_CONTINUE_HELP_2); 35 ConResPuts(StdOut, IDS_GENERIC_PAGE); 36 return 1; 37 } 38 } 39 40 hManager = OpenSCManager(NULL, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ENUMERATE_SERVICE); 41 if (hManager == NULL) 42 { 43 ConPrintf(StdErr, L"[OpenSCManager] Error: %ld\n", GetLastError()); 44 nError = 1; 45 goto done; 46 } 47 48 hService = OpenService(hManager, argv[2], SERVICE_PAUSE_CONTINUE); 49 if (hService == NULL) 50 { 51 ConPrintf(StdErr, L"[OpenService] Error: %ld\n", GetLastError()); 52 nError = 1; 53 goto done; 54 } 55 56 if (!ControlService(hService, SERVICE_CONTROL_CONTINUE, &status)) 57 { 58 ConPrintf(StdErr, L"[ControlService] Error: %ld\n", GetLastError()); 59 nError = 1; 60 } 61 62 done: 63 if (hService != NULL) 64 CloseServiceHandle(hService); 65 66 if (hManager != NULL) 67 CloseServiceHandle(hManager); 68 69 return nError; 70 } 71 72 /* EOF */ 73 74