Banco de dados de serviços instalados

O SCM mantém um banco de dados de serviços instalados no registro. O banco de dados é usado pelo SCM e programas que adicionam, modificam ou configuram serviços. Veja a seguir a chave do Registro deste banco de dados: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.

Essa chave contém uma subchave para cada serviço instalado e serviço de driver. O nome da subchave é o nome do serviço, conforme especificado pela função CreateService quando o serviço foi instalado por um programa de configuração de serviço.

Uma cópia inicial do banco de dados é criada quando o sistema é instalado. O banco de dados contém entradas para os drivers de dispositivo necessários durante a inicialização do sistema. O banco de dados inclui as seguintes informações sobre cada serviço instalado e serviço de driver:

  • O tipo de serviço. Isso indica se o serviço é executado em seu próprio processo ou compartilha um processo com outros serviços. Para serviços de driver, isso indica se o serviço é um driver de kernel ou um driver do sistema de arquivos.
  • O tipo de início. Isso indica se o serviço de serviço ou driver é iniciado automaticamente na inicialização do sistema (serviço de início automático) ou se o SCM o inicia quando solicitado por um programa de controle de serviço (serviço de início da demanda). O tipo inicial também pode indicar que o serviço de serviço ou driver está desabilitado, caso em que não pode ser iniciado.
  • O nível de controle de erro. Isso especifica a gravidade do erro se o serviço de serviço ou driver não for iniciado durante a inicialização do sistema e determinará a ação que o programa de inicialização tomará.
  • O caminho totalmente qualificado do arquivo executável. A extensão filename é .EXE para serviços e .SYS para serviços de driver.
  • Informações de dependência opcionais usadas para determinar a ordem adequada para iniciar serviços ou serviços de driver. Para serviços, essas informações podem incluir uma lista de serviços que o SCM deve iniciar antes de iniciar o serviço especificado, o nome de um grupo de ordenação de carga do qual o serviço faz parte e um identificador de marca que indica a ordem de início do serviço em seu grupo de ordenação de carga. Para serviços de driver, essas informações incluem uma lista de drivers que devem ser iniciados antes do driver especificado.
  • Para serviços, um nome de conta e senha opcionais. O programa de serviço é executado no contexto dessa conta. Se nenhuma conta for especificada, o serviço será executado no contexto da conta LocalSystem.
  • Para serviços de driver, um nome de objeto de driver opcional (por exemplo, \FileSystem\Rdr ou \Driver\Xns), usado pelo sistema de E/S para carregar o driver do dispositivo. Se nenhum nome for especificado, o sistema de E/S criará um nome padrão com base no nome do serviço de driver.

Observação

Esse banco de dados também é conhecido como o banco de dados ServicesActive ou o banco de dados SCM. Você deve usar as funções fornecidas pelo SCM, em vez de modificar o banco de dados diretamente.