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 |