Partilhar via


Função QueryServiceConfig2W (winsvc.h)

Recupera os parâmetros de configuração opcionais do serviço especificado.

Sintaxe

BOOL QueryServiceConfig2W(
  [in]            SC_HANDLE hService,
  [in]            DWORD     dwInfoLevel,
  [out, optional] LPBYTE    lpBuffer,
  [in]            DWORD     cbBufSize,
  [out]           LPDWORD   pcbBytesNeeded
);

Parâmetros

[in] hService

Um identificador para o serviço. Esse identificador é retornado pela função do OpenService ou CreateService e deve ter o acesso SERVICE_QUERY_CONFIG correto. Para obter mais informações, consulte de Direitos de Acesso e Segurança do Serviço.

[in] dwInfoLevel

As informações de configuração a serem consultadas. Esse parâmetro pode ser um dos valores a seguir.

Valor Significado
SERVICE_CONFIG_DELAYED_AUTO_START_INFO
3
O parâmetro lpInfo é um ponteiro para uma estrutura de SERVICE_DELAYED_AUTO_START_INFO.

Windows Server 2003 e Windows XP: Esse valor não tem suporte.

SERVICE_CONFIG_DESCRIPTION
1
O parâmetro lpBuffer é um ponteiro para uma estrutura de SERVICE_DESCRIPTION.
SERVICE_CONFIG_FAILURE_ACTIONS
2
O parâmetro lpBuffer é um ponteiro para uma estrutura SERVICE_FAILURE_ACTIONS.
SERVICE_CONFIG_FAILURE_ACTIONS_FLAG
4
O parâmetro lpInfo é um ponteiro para uma estrutura SERVICE_FAILURE_ACTIONS_FLAG.

Windows Server 2003 e Windows XP: Esse valor não tem suporte.

SERVICE_CONFIG_PREFERRED_NODE
9
O parâmetro lpInfo é um ponteiro para uma estrutura SERVICE_PREFERRED_NODE_INFO.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse valor.

SERVICE_CONFIG_PRESHUTDOWN_INFO
7
O parâmetro lpInfo é um ponteiro para uma estrutura SERVICE_PRESHUTDOWN_INFO.

Windows Server 2003 e Windows XP: Esse valor não tem suporte.

SERVICE_CONFIG_REQUIRED_PRIVILEGES_INFO
6
O parâmetro lpInfo é um ponteiro para uma estrutura de SERVICE_REQUIRED_PRIVILEGES_INFO.

Windows Server 2003 e Windows XP: Esse valor não tem suporte.

SERVICE_CONFIG_SERVICE_SID_INFO
5
O parâmetro lpInfo é um ponteiro para uma estrutura SERVICE_SID_INFO.

Windows Server 2003 e Windows XP: Esse valor não tem suporte.

SERVICE_CONFIG_TRIGGER_INFO
8
O parâmetro lpInfo é um ponteiro para uma estrutura SERVICE_TRIGGER_INFO.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: Não há suporte para esse valor.

SERVICE_CONFIG_LAUNCH_PROTECTED
12
O parâmetro lpInfo é um ponteiro de uma estrutura SERVICE_LAUNCH_PROTECTED_INFO.
Observação Esse valor tem suporte a partir do Windows 8.1.
 

[out, optional] lpBuffer

Um ponteiro para o buffer que recebe as informações de configuração do serviço. O formato desses dados depende do valor do parâmetro dwInfoLevel .

O tamanho máximo dessa matriz é de 8 K bytes. Para determinar o tamanho necessário, especifique NULL para esse parâmetro e 0 para o parâmetro cbBufSize. A função falha e GetLastError retorna ERROR_INSUFFICIENT_BUFFER. O parâmetro pcbBytesNeededed recebe o tamanho necessário.

[in] cbBufSize

O tamanho da estrutura apontada pelo parâmetro lpBuffer, em bytes.

[out] pcbBytesNeeded

Um ponteiro para uma variável que recebe o número de bytes necessários para armazenar as informações de configuração, se a função falhar com ERROR_INSUFFICIENT_BUFFER.

Valor de retorno

Se a função for bem-sucedida, o valor retornado não será zero.

Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.

Os códigos de erro a seguir podem ser definidos pelo gerenciador de controle de serviço. Outras podem ser definidas pelas funções do Registro que são chamadas pelo gerenciador de controle de serviço.

Código de retorno Descrição
ERROR_ACCESS_DENIED
O identificador não tem o acesso SERVICE_QUERY_CONFIG correto.
ERROR_INSUFFICIENT_BUFFER
Há mais informações de configuração de serviço do que caberia no buffer de lpBuffer. O número de bytes necessários para obter todas as informações é retornado no parâmetro pcbBytesNeededed. Nada é escrito para lpBuffer.
ERROR_INVALID_HANDLE
O identificador especificado é inválido.

Observações

A função QueryServiceConfig2 retorna as informações de configuração opcionais armazenadas no banco de dados do gerenciador de controle de serviço para o serviço especificado. Você pode alterar essas informações de configuração usando a função ChangeServiceConfig2.

Você pode alterar e consultar informações de configuração adicionais usando as funções ChangeServiceConfig e queryServiceConfig, respectivamente.

Exemplos

Para obter um exemplo, consulte Consultando ode Configuração de um Serviço.

Nota

O cabeçalho winsvc.h define QueryServiceConfig2 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]
da Plataforma de Destino Windows
cabeçalho winsvc.h (incluir Windows.h)
biblioteca Advapi32.lib
de DLL Advapi32.dll

Consulte também

ChangeServiceConfig

ChangeServiceConfig2

CreateService

openservice

QueryServiceConfig

QueryServiceDynamicInformation

QueryServiceObjectSecurity

SERVICE_DELAYED_AUTO_START_INFO

SERVICE_DESCRIPTION

SERVICE_FAILURE_ACTIONS

SERVICE_FAILURE_ACTIONS_FLAG

SERVICE_PRESHUTDOWN_INFO

SERVICE_REQUIRED_PRIVILEGES_INFO

SERVICE_SID_INFO

de Configuração de Serviço do

Funções de serviço