Функция GetServiceKeyName

Функция 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)

 Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz