Solicitações de controle de serviço
Para enviar solicitações de controle para um serviço em execução, um programa de controle de serviço usa a função ControlService . Essa função especifica um valor de controle que é passado para a função HandlerEx do serviço especificado. Esse valor de controle pode ser um código definido pelo usuário ou pode ser um dos códigos padrão que permitem que o programa de chamada execute as seguintes ações:
- Parar um serviço (SERVICE_CONTROL_STOP).
- Pausar um serviço (SERVICE_CONTROL_PAUSE).
- Retomar a execução de um serviço em pausa (SERVICE_CONTROL_CONTINUE).
- Recuperar informações de status atualizadas de um serviço (SERVICE_CONTROL_INTERROGATE).
Cada serviço especifica os valores de controle que ele aceitará e processará. Para determinar quais dos valores de controle padrão são aceitos por um serviço, use a função QueryServiceStatusEx ou especifique o valor de controle SERVICE_CONTROL_INTERROGATE em uma chamada para a função ControlService . O membro dwControlsAccepted da estrutura SERVICE_STATUS retornada por essas funções indica se o serviço pode ser interrompido, pausado ou retomado. Todos os serviços aceitam o valor de controle SERVICE_CONTROL_INTERROGATE.
A função QueryServiceStatusEx relata os status mais recentes para um serviço especificado, mas não obtém uma status atualizada do próprio serviço. Usar o valor de controle SERVICE_CONTROL_INTERROGATE em uma chamada para ControlService garante que as informações de status retornadas sejam atuais.
Tópicos relacionados