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 PrintMessageString(4381); 23 ConPuts(StdOut, L"\n"); 24 PrintNetMessage(MSG_CONTINUE_SYNTAX); 25 return 1; 26 } 27 28 for (i = 2; i < argc; i++) 29 { 30 if (_wcsicmp(argv[i], L"/help") == 0) 31 { 32 PrintMessageString(4381); 33 ConPuts(StdOut, L"\n"); 34 PrintNetMessage(MSG_CONTINUE_SYNTAX); 35 PrintNetMessage(MSG_CONTINUE_HELP); 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