reactos/base/applications/network/net/cmdPause.c
Eric Kohl fdc236c65d [NET] Reorganize and improve the help texts (2/X)
- Add missing help texts for HELP, HELPMSG and PAUSE commands.
2018-04-01 16:51:44 +02:00

71 lines
1.7 KiB
C

/*
* COPYRIGHT: See COPYING in the top level directory
* PROJECT: ReactOS net command
* FILE: base/applications/network/net/cmdPause.c
* PURPOSE:
*
* PROGRAMMERS: Aleksandar Andrejevic <theflash AT sdf DOT lonestar DOT org>
*/
#include "net.h"
INT cmdPause(INT argc, WCHAR **argv)
{
SC_HANDLE hManager = NULL;
SC_HANDLE hService = NULL;
SERVICE_STATUS status;
INT nError = 0;
INT i;
if (argc != 3)
{
ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
ConResPuts(StdOut, IDS_PAUSE_SYNTAX);
return 1;
}
for (i = 2; i < argc; i++)
{
if (_wcsicmp(argv[i], L"/help") == 0)
{
ConResPuts(StdOut, IDS_GENERIC_SYNTAX);
ConResPuts(StdOut, IDS_PAUSE_SYNTAX);
ConResPuts(StdOut, IDS_PAUSE_HELP_1);
ConResPuts(StdOut, IDS_PAUSE_HELP_2);
return 1;
}
}
hManager = OpenSCManager(NULL, SERVICES_ACTIVE_DATABASE, SC_MANAGER_ENUMERATE_SERVICE);
if (hManager == NULL)
{
ConPrintf(StdErr, L"[OpenSCManager] Error: %ld\n", GetLastError());
nError = 1;
goto done;
}
hService = OpenService(hManager, argv[2], SERVICE_PAUSE_CONTINUE);
if (hService == NULL)
{
ConPrintf(StdErr, L"[OpenService] Error: %ld\n", GetLastError());
nError = 1;
goto done;
}
if (!ControlService(hService, SERVICE_CONTROL_PAUSE, &status))
{
ConPrintf(StdErr, L"[ControlService] Error: %ld\n", GetLastError());
}
done:
if (hService != NULL)
CloseServiceHandle(hService);
if (hManager != NULL)
CloseServiceHandle(hManager);
return nError;
}
/* EOF */