ReactOS  0.4.12-dev-75-g00dd17e
cmdContinue.c
Go to the documentation of this file.
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 
13 {
14  SC_HANDLE hManager = NULL;
15  SC_HANDLE hService = NULL;
17  INT nError = 0;
18  INT i;
19 
20  if (argc != 3)
21  {
24  return 1;
25  }
26 
27  for (i = 2; i < argc; i++)
28  {
29  if (_wcsicmp(argv[i], L"/help") == 0)
30  {
36  return 1;
37  }
38  }
39 
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 
static int argc
Definition: ServiceArgs.c:12
#define SC_MANAGER_ENUMERATE_SERVICE
Definition: winsvc.h:16
#define SERVICES_ACTIVE_DATABASE
Definition: winsvc.h:564
__wchar_t WCHAR
Definition: xmlstorage.h:180
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
int32_t INT
Definition: typedefs.h:56
#define OpenService
Definition: winsvc.h:576
static char ** argv
Definition: ServiceArgs.c:11
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define IDS_GENERIC_SYNTAX
Definition: resource.h:202
INT __cdecl ConPrintf(IN PCON_STREAM Stream, IN LPWSTR szStr,...)
Definition: outstream.c:520
#define IDS_GENERIC_PAGE
Definition: resource.h:203
BOOL WINAPI CloseServiceHandle(SC_HANDLE hSCObject)
Definition: scm.c:576
smooth NULL
Definition: ftsmooth.c:416
#define IDS_CONTINUE_HELP_1
Definition: resource.h:27
#define OpenSCManager
Definition: winsvc.h:575
#define IDS_CONTINUE_HELP_2
Definition: resource.h:28
#define StdErr
Definition: stream.h:77
INT cmdContinue(INT argc, WCHAR **argv)
Definition: cmdContinue.c:12
INT ConResPuts(IN PCON_STREAM Stream, IN UINT uID)
Definition: outstream.c:610
static const WCHAR L[]
Definition: oid.c:1087
#define IDS_CONTINUE_SYNTAX
Definition: resource.h:26
#define SERVICE_CONTROL_CONTINUE
Definition: winsvc.h:38
BOOL WINAPI ControlService(SC_HANDLE hService, DWORD dwControl, LPSERVICE_STATUS lpServiceStatus)
Definition: scm.c:618
#define StdOut
Definition: stream.h:76
static SERVICE_STATUS status
Definition: service.c:31
#define SERVICE_PAUSE_CONTINUE
Definition: winsvc.h:59
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)