Compartilhar via


Função QueryServiceConfigA (winsvc.h)

Recupera os parâmetros de configuração do serviço especificado. Parâmetros de configuração opcionais estão disponíveis usando a função QueryServiceConfig2.

Sintaxe

BOOL QueryServiceConfigA(
  [in]            SC_HANDLE               hService,
  [out, optional] LPQUERY_SERVICE_CONFIGA lpServiceConfig,
  [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.

[out, optional] lpServiceConfig

Um ponteiro para um buffer que recebe as informações de configuração do serviço. O formato dos dados é uma estrutura QUERY_SERVICE_CONFIG.

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 falhará e GetLastError retornará ERROR_INSUFFICIENT_BUFFER. O parâmetro pcbBytesNeededed receberá o tamanho necessário.

[in] cbBufSize

O tamanho do buffer apontado pelo parâmetro lpServiceConfig, em bytes.

[out] pcbBytesNeeded

Um ponteiro para uma variável que recebe o número de bytes necessários para armazenar todas 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 lpServiceConfig . O número de bytes necessários para obter todas as informações é retornado no parâmetro pcbBytesNeededed. Nada é escrito para lpServiceConfig.
ERROR_INVALID_HANDLE
O identificador especificado é inválido.

Observações

A função queryServiceConfig retorna as informações de configuração de serviço mantidas no registro para um serviço específico. Essas informações de configuração são definidas primeiro por um programa de controle de serviço usando a função CreateService. Essas informações podem ter sido atualizadas por um programa de configuração de serviço usando a função ChangeServiceConfig.

Se o serviço estava em execução quando as informações de configuração foram alteradas pela última vez, as informações retornadas por QueryServiceConfig não refletirão a configuração atual do serviço. Em vez disso, ele refletirá a configuração do serviço quando ele for executado na próxima execução. A chave DisplayName é uma exceção a isso. Quando a chave DisplayName é alterada, ela entra em vigor imediatamente, independentemente de o serviço estiver em execução.

Exemplos

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

Nota

O cabeçalho winsvc.h define QueryServiceConfig 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

CreateService

openservice

QUERY_SERVICE_CONFIG

QueryServiceConfig2

QueryServiceDynamicInformation

QueryServiceObjectSecurity

de Configuração de Serviço do

Funções de serviço