Compartilhar via


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:

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:

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.