Windows Win32Serviçosadvapi32.dll
ControlService
Envia um código de controle (parar, pausar, continuar, etc.) a um serviço em execução.
Descrição
Análogo a `systemctl stop`/`kill -SIGSTOP` combinados, mas com um vocabulário de controle específico de serviços (SERVICE_CONTROL_STOP, SERVICE_CONTROL_PAUSE, SERVICE_CONTROL_CONTINUE) reconhecido pela própria infraestrutura de serviços, não por sinais Unix genéricos.
Header:
winsvc.hDLL: advapi32.dllAssinatura
BOOL ControlService(
SC_HANDLE hService,
DWORD dwControl,
LPSERVICE_STATUS lpServiceStatus
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| hService | SC_HANDLE | Handle do serviço, com o direito correspondente ao controle desejado. |
| dwControl | DWORD | SERVICE_CONTROL_STOP, SERVICE_CONTROL_PAUSE, SERVICE_CONTROL_CONTINUE, etc. |
| lpServiceStatus | LPSERVICE_STATUS | Recebe o estado do serviço após o controle. |
Valor de retorno
Diferente de zero em sucesso; 0 em erro (consulte GetLastError).
Códigos de erro (GetLastError)
- ERROR_ACCESS_DENIED(5)
- Acesso negado.
- ERROR_SERVICE_NOT_ACTIVE(1062)
- O serviço não foi iniciado.