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 não Windows. Em vez disso, os desenvolvedores devem implementar seus próprios programas de hospedagem de serviço.

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 ( gerenciador de controle de serviço ) que um programa de serviço deve incluir:

Esses tópicos não se aplicam aos serviços de driver. Para obter os requisitos de interface dos serviços de driver, consulte o WDK (Kit de Driver do Windows).

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 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.