Partilhar via


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çãoControlService. Esta função especifica um valor de controle que é passado para a funçãoHandlerEx 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 chamador execute as seguintes ações:

  • Pare um serviço (SERVICE_CONTROL_STOP).
  • Pausar um serviço (SERVICE_CONTROL_PAUSE).
  • Retome a execução de um serviço pausado (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 aceitará e processará. Para determinar quais dos valores de controle padrão são aceitos por um serviço, use a funçãoQueryServiceStatusEx ou especifique o valor de controle SERVICE_CONTROL_INTERROGATE em uma chamada para a funçãoControlService. O dwControlsAccepted membro 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 SERVICE_CONTROL_INTERROGATE valor de controle.

A funçãoQueryServiceStatusEx relata o status mais recente de um serviço especificado, mas não obtém um status atualizado 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.

controlar um serviço usando o SC