Criar método da classe Win32_BaseService

O método de classe CreateWMI cria um novo serviço. O parâmetro LoadOrderGroup representa um agrupamento de serviços do sistema que definem dependências de execução. Os serviços devem ser iniciados na ordem especificada pelo Grupo de Ordem de Carga, pois os serviços dependem uns dos outros. Esses serviços dependentes exigem que a presença dos serviços antecedentes funcione corretamente.

Este tópico usa a sintaxe MOF (Managed Object Format). Para obter mais informações sobre como usar esse método, consulte Chamando um método.

Sintaxe

uint32 Create(
  [in] string  Name,
  [in] string  DisplayName,
  [in] string  PathName,
  [in] uint8   ServiceType,
  [in] uint8   ErrorControl,
  [in] string  StartMode,
  [in] boolean DesktopInteract,
  [in] string  StartName,
  [in] string  StartPassword,
  [in] string  LoadOrderGroup,
  [in] string  LoadOrderGroupDependencies[],
  [in] string  ServiceDependencies[]
);

Parâmetros

Nome [in]

Nome do serviço a ser instalado no método Create . O comprimento máximo da cadeia de caracteres é de 256 caracteres. O banco de dados do gerenciador de controle de serviço preserva as maiúsculas e minúsculas dos caracteres, mas as comparações de nome de serviço sempre diferenciam maiúsculas de minúsculas. Barras (/) e barras inválidas (\) são caracteres de nome de serviço inválidos.

DisplayName [in]

Nome de exibição do serviço. Essa cadeia de caracteres tem um tamanho máximo de 256 caracteres. O nome é preservado por maiúsculas e minúsculas no gerenciador de controle de serviço. As comparações de DisplayName sempre diferenciam maiúsculas de minúsculas.

Restrições: aceita o mesmo valor que o parâmetro Name .

Exemplo: "Atdisk".

PathName [in]

Caminho totalmente qualificado para o arquivo executável que implementa o serviço.

Exemplo: "\SystemRoot\System32\drivers\afd.sys".

ServiceType [in]

Tipo de serviços fornecidos a processos que os chamam. O valor é um bitmap.

Driver de kernel (1)

Driver do Sistema de Arquivos (2)

Adaptador (4)

Driver do Reconhecedor (8)

Processo Próprio (16)

Processo de compartilhamento (32)

256

Processo Interativo

ErrorControl [in]

Gravidade do erro se o método Create falhar ao iniciar. O valor indica a ação executada pelo programa de inicialização se ocorrer falha. Todos os erros são registrados pelo sistema.

Ignorar (0)

O usuário não é notificado.

Normal (1)

O usuário é notificado.

Grave (2)

Sistema é reiniciado com a última configuração bem-sucedida conhecida.

Crítico (3)

O sistema tenta começar com uma boa configuração.

StartMode [in]

Modo de início do serviço base do Windows.

Inicialização inicial ("Inicialização")

Driver de dispositivo iniciado pelo carregador do sistema operacional. Esse valor só é válido para serviços do driver.

Início do Sistema ("Sistema")

Driver de dispositivo iniciado pelo processo de inicialização do sistema operacional. Esse valor só é válido para serviços do driver.

Início Automático ("Automático")

Serviço a ser iniciado automaticamente pelo gerenciador de controle de serviço durante a inicialização do sistema.

Início da Demanda ("Manual")

Serviço a ser iniciado pelo gerenciador de controle de serviço quando um processo chama o método StartService .

Desabilitado ("Desabilitado")

Serviço que não pode mais ser iniciado.

DesktopInteract [in]

Se for true, o serviço poderá criar ou se comunicar com janelas na área de trabalho.

StartName [in]

Nome da conta na qual o serviço é executado. Dependendo do tipo de serviço, o nome da conta pode estar na forma de "DomainName\Username". O processo de serviço é registrado usando um desses dois formulários quando é executado. Se a conta pertencer ao domínio interno, ".\Username" poderá ser especificado. Se NULL for especificado, o serviço será conectado como a conta LocalSystem. Para um kernel ou drivers no nível do sistema, StartName contém o nome do objeto do driver (ou seja, \FileSystem\Rdr ou \Driver\Xns) que o sistema de entrada e saída (E/S) usa para carregar o driver do dispositivo. Se NULL for especificado, o driver será executado com um nome de objeto padrão criado pelo sistema de E/S com base no nome do serviço. Exemplo: DWDOM\Administração.

StartPassword [in]

Senha para o nome da conta especificado pelo parâmetro StartName . Especifique NULL se você não estiver alterando a senha. Especifique uma cadeia de caracteres vazia se o serviço não tiver nenhuma senha.

LoadOrderGroup [in]

Nome do grupo associado ao novo serviço. Os grupos de ordem de carga estão contidos no registro e determinam a sequência na qual os serviços são carregados no sistema operacional. Se o ponteiro for NULL ou se ele apontar para uma cadeia de caracteres vazia, o serviço não pertencerá a um grupo. As dependências entre grupos devem ser listadas no parâmetro LoadOrderGroupDependencies . Os serviços na lista de grupos de ordenação de carga são iniciados primeiro, seguidos por serviços em grupos que não estão na lista de grupos de ordenação de carga, seguidos por serviços que não pertencem a um grupo. O registro tem uma lista de grupos de ordenação de carga localizados em:

HKEY_LOCAL_MACHINE\Sistema\Currentcontrolset\Controle\ServiceGroupOrder

LoadOrderGroupDependencies [in]

Matriz de grupos de ordenação de carga que devem ser iniciados antes desse serviço. Cada item na matriz é delimitado por NULL e a lista é encerrada por dois valores NULL . No Visual Basic ou no script, você pode passar um vbArray. Se o ponteiro for NULL ou se apontar para uma cadeia de caracteres vazia, o serviço não terá dependências. Os nomes de grupo devem ser prefixados pelo caractere SC_GROUP_IDENTIFIER (definido no arquivo Winsvc.h) para diferenciá-lo de um nome de serviço, pois serviços e grupos de serviços compartilham o mesmo namespace. A dependência em um grupo significa que esse serviço poderá ser executado se pelo menos um membro do grupo estiver em execução após uma tentativa de iniciar todos os membros do grupo.

ServiceDependencies [in]

Matriz que contém nomes de serviços que devem ser iniciados antes do início desse serviço. Cada item na matriz é delimitado por NULL e a lista é encerrada por dois valores NULL . No Visual Basic ou no script, você pode passar um vbArray. Se o ponteiro for NULL ou se ele apontar para uma cadeia de caracteres vazia, o serviço não terá dependências. A dependência de um serviço significa que esse serviço só poderá ser executado se o serviço do qual ele depende estiver em execução.

Valor retornado

Retorna um dos valores listados na lista a seguir ou qualquer outro valor para indicar um erro.

Êxito

0

A solicitação foi aceita.

Sem suporte

1

A solicitação não terá suporte.

Acesso negado

2

O usuário não tinha o acesso necessário.

Serviços dependentes em execução

3

O serviço não pode ser interrompido, porque outros serviços em execução dependem dele.

Controle de serviço inválido

4

O código de controle pedido não é válido ou é inaceitável para o serviço.

O serviço não pode aceitar o controle

5

O código de controle solicitado não pode ser enviado ao serviço porque o estado do serviço (Win32_BaseService. Propriedade State ) é igual a 0, 1 ou 2.

Serviço Não Ativo

6

O serviço não foi iniciado.

Tempo limite da solicitação de serviço

7

O serviço não respondeu à solicitação de início em um tempo oportuno.

Falha desconhecida

8

Processo interativo.

Caminho Não Encontrado

9

O caminho do diretório para o arquivo executável do serviço não foi encontrado.

Serviço já em execução

10

O serviço já está em execução.

Banco de Dados de Serviço Bloqueado

11

O banco de dados para adicionar um serviço novo está bloqueado.

Dependência de serviço excluída

12

Uma dependência da qual esse serviço depende foi removida do sistema.

Falha na dependência do serviço

13

O serviço não localizou o serviço necessário em um serviço dependente.

Serviço Desabilitado

14

O serviço foi desabilitado do sistema.

Falha no logon do serviço

15

O serviço não tem a autenticação correta para ser executado no sistema.

Serviço marcado para exclusão

16

Esse serviço está sendo removido do sistema.

Serviço Sem Thread

17

Não há nenhum thread de execução para o serviço.

Dependência circular de status

18

Há dependências circulares quando o serviço é iniciado.

Nome duplicado de status

19

Há um serviço em execução com o mesmo nome.

Nome Inválido de Status

20

Há caracteres inválidos no nome do serviço.

Parâmetro Inválido de Status

21

Parâmetros inválidos foram passados para o serviço.

Status Inválido Conta de Serviço

22

A conta na qual esse serviço deve ser executado é inválida ou não tem as permissões para executar o serviço.

O Serviço de Status existe

23

O serviço existe no banco de dados de serviços disponível no sistema.

Serviço já pausado

24

O serviço está pausado atualmente no sistema.

Outros

25 4294967295

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows Vista
Servidor mínimo com suporte
Windows Server 2008
Namespace
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

Confira também

Classes do sistema operacional

Win32_BaseService