Функция GetServiceKeyNameA (winsvc.h)
Извлекает имя службы указанной службы.
Синтаксис
BOOL GetServiceKeyNameA(
[in] SC_HANDLE hSCManager,
[in] LPCSTR lpDisplayName,
[out, optional] LPSTR lpServiceName,
[in, out] LPDWORD lpcchBuffer
);
Параметры
[in] hSCManager
Дескриптор базы данных диспетчера управления службами компьютера, возвращенный OpenSCManager.
[in] lpDisplayName
Отображаемое имя службы. Эта строка имеет максимальную длину 256 символов.
[out, optional] lpServiceName
Указатель на буфер, получающий имя службы. Если функция завершается ошибкой, этот буфер будет содержать пустую строку.
Максимальный размер этого массива составляет 4 КБ. Чтобы определить требуемый размер, укажите ЗНАЧЕНИЕ NULL для этого параметра и 0 для параметра lpcchBuffer. Функция завершится ошибкой, и GetLastError вернет ERROR_INSUFFICIENT_BUFFER. Параметр lpcchBuffer
[in, out] lpcchBuffer
Указатель на переменную, указывающую размер буфера, на который указывает параметр lpServiceName, в TCHARs. Когда функция возвращается, этот параметр содержит размер имени службы в TCHARs, за исключением символа, завершающего значение NULL.
Если буфер, на который указывает lpServiceName, слишком мал, чтобы содержать имя службы, функция не хранит в ней данные. Когда функция возвращается, lpcchBuffer содержит размер имени службы, за исключением конца NULL.
Возвращаемое значение
Если функции выполнены успешно, возвращаемое значение ненулевое.
Если функция завершается ошибкой, возвращаемое значение равно нулю. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
Существует два имени службы: имя службы и отображаемое имя. Имя службы — это имя ключа службы в реестре. Отображаемое имя — это понятное имя, которое отображается в приложении панели управления "Службы" и используется с командой NET START. Оба имени задаются с помощью функции createService
Чтобы сопоставить имя службы с отображаемым именем, используйте функцию getServiceDisplayName
Заметка
Заголовок winsvc.h определяет GetServiceKeyName как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP [только классические приложения] |
минимальный поддерживаемый сервер | Windows Server 2003 [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winsvc.h (включая Windows.h) |
библиотеки |
Advapi32.lib |
DLL | Advapi32.dll |