Programas de Serviço
Um programa de serviço contém código executável para um ou mais serviços. Um programa de serviço criado com o tipo SERVICE_WIN32_OWN_PROCESS contém o código para apenas um serviço. Um programa de serviço criado com o tipo SERVICE_WIN32_SHARE_PROCESS contém código para mais de um serviço, permitindo que eles compartilhem código. Um exemplo de um programa de serviço que faz isso é o processo de host de serviço genérico, Svchost.exe, que hospeda serviços internos do Windows. Observe que Svchost.exe é reservado para uso pelo sistema operacional e não deve ser usado por serviços que não são do Windows. Em vez disso, os desenvolvedores devem implementar seus próprios programas de hospedagem de serviços.
Um programa de serviço pode ser configurado para ser executado no contexto de uma conta de usuário do domínio interno (local), primário ou confiável. Ele também pode ser configurado para ser executado em uma conta de usuário de serviço especial.
Os tópicos a seguir descrevem os requisitos de interface do SCM (service control manager) que um programa de serviço deve incluir:
- do ponto de entrada do serviço
- de função ServiceMain do
- de função do manipulador de controle de serviço
Esses tópicos não se aplicam aos serviços de driver. Para obter requisitos de interface dos serviços de driver, consulte o WDK (Windows Driver Kit).
Um serviço é executado como um processo em segundo plano que pode afetar o desempenho do sistema, a capacidade de resposta, a eficiência energética e a segurança. Para obter diretrizes de otimização de serviço, consulte Desenvolvendo processos em segundo plano eficientes para o Windows. Os tópicos a seguir descrevem considerações adicionais de programação:
- transições de estado do serviço
- eventos de recebimento em um de serviço
- serviços multithreaded
- serviços e o registro
- serviços e unidades redirecionadas
- eventos de gatilho de serviço
Observe que, se o programa de serviço funcionar como um servidor RPC, ele deverá usar pontos de extremidade dinâmicos e autenticação mútua.