Função GetServiceKeyNameA (winsvc.h)

Recupera o nome do serviço especificado.

Sintaxe

BOOL GetServiceKeyNameA(
  [in]            SC_HANDLE hSCManager,
  [in]            LPCSTR    lpDisplayName,
  [out, optional] LPSTR     lpServiceName,
  [in, out]       LPDWORD   lpcchBuffer
);

Parâmetros

[in] hSCManager

Um identificador para o banco de dados do gerenciador de controle de serviços do computador, conforme retornado pelo OpenSCManager.

[in] lpDisplayName

O nome de exibição do serviço. Essa cadeia de caracteres tem um tamanho máximo de 256 caracteres.

[out, optional] lpServiceName

Um ponteiro para um buffer que recebe o nome do serviço. Se a função falhar, esse buffer conterá uma cadeia de caracteres vazia.

O tamanho máximo dessa matriz é de 4K bytes. Para determinar o tamanho necessário, especifique NULL para esse parâmetro e 0 para o parâmetro lpcchBuffer . A função falhará e GetLastError retornará ERROR_INSUFFICIENT_BUFFER. O parâmetro lpcchBuffer receberá o tamanho necessário.

[in, out] lpcchBuffer

Um ponteiro para a variável que especifica o tamanho do buffer apontado pelo parâmetro lpServiceName , em TCHARs. Quando a função retorna, esse parâmetro contém o tamanho do nome do serviço, em TCHARs, excluindo o caractere de terminação nula.

Se o buffer apontado por lpServiceName for muito pequeno para conter o nome do serviço, a função não armazenará nenhum dado nele. Quando a função retorna, lpcchBuffer contém o tamanho do nome do serviço, excluindo o terminador NULL.

Valor retornado

Se as funções forem bem-sucedidas, o valor retornado será diferente de zero.

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

Comentários

Há dois nomes para um serviço: o nome do serviço e o nome de exibição. O nome do serviço é o nome da chave do serviço no registro. O nome de exibição é um nome amigável que aparece no aplicativo painel de controle Serviços e é usado com o comando NET START . Ambos os nomes são especificados com a função CreateService e podem ser modificados com a função ChangeServiceConfig . As informações especificadas para um serviço são armazenadas em uma chave com o mesmo nome que o nome do serviço na chave do Registro HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceName .

Para mapear o nome do serviço para o nome de exibição, use a função GetServiceDisplayName . Para mapear o nome de exibição para o nome do serviço, use a função GetServiceKeyName .

Observação

O cabeçalho winsvc.h define GetServiceKeyName como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows XP [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2003 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho winsvc.h (incluir Windows.h)
Biblioteca Advapi32.lib
DLL Advapi32.dll

Confira também

GetServiceDisplayName

OpenSCManager

Funções de serviço