Функция GetServiceKeyName извлекает имя указанной службы.
Синтаксис
BOOL GetServiceKeyName( SC_HANDLE hSCManager, LPCTSTR lpDisplayName, LPTSTR lpServiceName, LPDWORD lpcchBuffer ); |
Параметры
hSCManager
[in] Дескриптор базы данных диспетчера управления службами компьютера, который возвращается функцией OpenSCManager.lpDisplayName
[in] Указатель на строку с завершающим нулем, которая задает отображаемое имя службы.Максимальный размер этого массива - 4 КБ.
lpServiceName
[out] Указатель на буфер, который получает имя службы. Если функция завершится ошибкой, то этот буфер будет иметь в своем составе пустую строку.Максимальный размер этого массива - 4 КБ. Чтобы определить необходимый размер, задайте значение ПУСТО (NULL) для этого параметра и 0 для параметра lpcchBuffer. Функция завершится ошибкой, а GetLastError возвратит ERROR_INSUFFICIENT_BUFFER. Параметр lpcchBuffer получит необходимый размер.
lpcchBuffer
[in, out] Указатель на переменную, задающую размер буфера, на который указывает параметр lpServiceName, в TCHARs (символах). Когда функция возвращает значение, этот параметр имеет в своем составе размер имени службы, в TCHARs, исключая завершающий символ нуля.Если буфер, на который указывает lpServiceName является слишком маленьким, чтобы иметь в своем составе имя службы, функция не хранит никаких данных в нем. Когда функция возвращает значение, lpcchBuffer имеет в своем составе размер имени службы, исключая символ конца строки.
Если функции завершаются успешно, возвращаемое значение является ненулевым.
Если функция завершается ошибкой, возвращаемое значение - ноль. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Есть два имени для службы: имя службы и отображаемое имя. Имя службы - это имя ключа службы в реестре. Отображаемое имя - это удобное для пользователя имя, которое применяется в приложении Панели управления службами и используется с командой NET START. Чтобы установить соответствие имени службы отображаемому имени, используйте функцию GetServiceDisplayName. Чтобы установить соответствие отображаемого имени имени службы, используйте функцию GetServiceKeyName.
Обзор Службы, Функции, используемые службами, GetServiceDisplayName, OpenSCManager
Размещение и совместимость GetServiceKeyName |
||
К |
Windows XP |
Да |
л |
Windows 2000 Professional |
Да |
и |
Windows NT Workstation |
Да версии 3,5 и старше |
е |
Windows Me |
Нет |
н |
Windows 98 |
Нет |
т |
Windows 95 |
Нет |
С |
Windows Server 2003 |
Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да версии 3,5 и старше |
в | ||
е | ||
р | ||
Используемая библиотека |
Advapi32.lib |
|
Используемая DLL | advapi32.dll | |
Заголовочный файл | ||
- объявлено в |
Winsvc.h |
|
- включено в |
Windows.h |
|
Unicode |
Реализуется как GetServiceKeyNameW(Unicode) и GetServiceKeyNameA (ANSI) |
|
Замечания по платформе |
Не имеется |