estrutura QUERY_SERVICE_CONFIGA (winsvc.h)
Contém informações de configuração para um serviço instalado. Ele é usado pela função
Sintaxe
typedef struct _QUERY_SERVICE_CONFIGA {
DWORD dwServiceType;
DWORD dwStartType;
DWORD dwErrorControl;
LPSTR lpBinaryPathName;
LPSTR lpLoadOrderGroup;
DWORD dwTagId;
LPSTR lpDependencies;
LPSTR lpServiceStartName;
LPSTR lpDisplayName;
} QUERY_SERVICE_CONFIGA, *LPQUERY_SERVICE_CONFIGA;
Membros
dwServiceType
O tipo de serviço. Esse membro pode ser um dos seguintes valores.
Se o valor for SERVICE_WIN32_OWN_PROCESS ou SERVICE_WIN32_SHARE_PROCESSe o serviço estiver em execução no contexto da conta LocalSystem, o tipo a seguir também poderá ser especificado.
Valor | Significado |
---|---|
|
O serviço pode interagir com a área de trabalho.
Para obter mais informações, consulte de Serviços Interativos. |
dwStartType
Quando iniciar o serviço. Esse membro pode ser um dos seguintes valores.
Valor | Significado |
---|---|
|
Um serviço iniciado automaticamente pelo gerenciador de controle de serviços durante a inicialização do sistema. |
|
Um driver de dispositivo iniciado pelo carregador do sistema. Esse valor é válido apenas para serviços de driver. |
|
Um serviço iniciado pelo gerenciador de controle de serviço quando um processo chama a função StartService. |
|
Um serviço que não pode ser iniciado. As tentativas de iniciar o serviço resultam no código de erro ERROR_SERVICE_DISABLED. |
|
Um driver de dispositivo iniciado pela função IoInitSystem. Esse valor é válido apenas para serviços de driver. |
dwErrorControl
A gravidade do erro e a ação executada, se esse serviço não for iniciado. Esse membro pode ser um dos seguintes valores.
lpBinaryPathName
O caminho totalmente qualificado para o arquivo binário de serviço.
O caminho também pode incluir argumentos para um serviço de início automático. Esses argumentos são passados para o ponto de entrada de serviço (normalmente, a função de principal do
lpLoadOrderGroup
O nome do grupo de ordenação de carga ao qual esse serviço pertence. Se o membro for NULL ou uma cadeia de caracteres vazia, o serviço não pertencerá a um grupo de ordenação de carga.
O programa de inicialização usa grupos de ordenação de carga para carregar grupos de serviços em uma ordem especificada em relação aos outros grupos. A lista de grupos de ordenação de carga está contida no seguinte valor do Registro:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ServiceGroupOrder
dwTagId
Um valor de marca exclusivo para esse serviço no grupo especificado pelo parâmetro lpLoadOrderGroup
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\GroupOrderList
As marcas são avaliadas apenas para serviços de tipo SERVICE_KERNEL_DRIVER e SERVICE_FILE_SYSTEM_DRIVER que têm tipos de início SERVICE_BOOT_START ou SERVICE_SYSTEM_START.
lpDependencies
Um ponteiro para uma matriz de nomes separados por nulo de serviços ou grupos de ordenação de carga que devem ser iniciados antes desse serviço. A matriz é duplamente terminada em nulo. Se o ponteiro for NULL ou se ele apontar para uma cadeia de caracteres vazia, o serviço não terá dependências. Se um nome de grupo for especificado, ele deverá ser prefixado pelo caractere SC_GROUP_IDENTIFIER (definido em WinSvc.h) para diferenciá-lo de um nome de serviço, pois serviços e grupos de serviço compartilham o mesmo espaço de nome. 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. 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.
lpServiceStartName
Se o tipo de serviço for SERVICE_WIN32_OWN_PROCESS ou SERVICE_WIN32_SHARE_PROCESS, esse membro será o nome da conta na qual o processo de serviço será conectado como quando for executado. Esse nome pode ser do formulário Domínio\UserName. Se a conta pertencer ao domínio interno, o nome poderá ser do formulário .\UserName. O nome também poderá ser "LocalSystem" se o processo estiver em execução na conta localsystem.
Se o tipo de serviço for SERVICE_KERNEL_DRIVER ou SERVICE_FILE_SYSTEM_DRIVER, esse membro será 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 esse membro for NULL, o driver deverá ser executado com um nome de objeto padrão criado pelo sistema de E/S, com base no nome do serviço.
lpDisplayName
O nome de exibição a ser usado por programas de controle de serviço para identificar o serviço. Essa cadeia de caracteres tem um comprimento máximo de 256 caracteres. O nome é preservado por maiúsculas de minúsculas no gerenciador de controle de serviço. As comparações de nome de exibição sempre diferenciam maiúsculas de minúsculas.
Esse parâmetro pode especificar uma cadeia de caracteres localizada usando o seguinte formato:
@[Path]DLLName,-StrID
A cadeia de caracteres com identificador
Windows Server 2003 e Windows XP: não há suporte para cadeias de caracteres localizadas até o Windows Vista.
Observações
As informações de configuração de um serviço são inicialmente especificadas quando o serviço é criado por uma chamada para a função CreateService. As informações podem ser modificadas chamando a função
Exemplos
Para obter um exemplo, consulte Consultando ode Configuração de um Serviço.
Nota
O cabeçalho winsvc.h define QUERY_SERVICE_CONFIG como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows XP [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows Server 2003 [somente aplicativos da área de trabalho] |
cabeçalho | winsvc.h (incluir Windows.h) |
Consulte também