Compartilhar via


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 comprimento 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 4 K 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 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 de retorno

Se as funções forem bem-sucedidas, 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.

Observações

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 do 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 no HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\ServiceName chave do Registro.

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.

Nota

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 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

GetServiceDisplayName

OpenSCManager

Funções de serviço