Поделиться через


Функция GetServiceDisplayNameA (winsvc.h)

Извлекает отображаемое имя указанной службы.

Синтаксис

BOOL GetServiceDisplayNameA(
  [in]            SC_HANDLE hSCManager,
  [in]            LPCSTR    lpServiceName,
  [out, optional] LPSTR     lpDisplayName,
  [in, out]       LPDWORD   lpcchBuffer
);

Параметры

[in] hSCManager

Дескриптор базы данных диспетчера управления службами, возвращаемый функцией OpenSCManager .

[in] lpServiceName

Имя службы. Это имя совпадает с именем раздела реестра службы. Лучше всего выбрать имя, которое содержит менее 256 символов.

[out, optional] lpDisplayName

Указатель на буфер, который получает отображаемое имя службы. В случае сбоя функции этот буфер будет содержать пустую строку.

Максимальный размер этого массива составляет 4 КБ байт. Чтобы определить требуемый размер, укажите значение NULL для этого параметра и 0 для параметра lpcchBuffer . Функция завершится ошибкой, и GetLastError вернет ERROR_INSUFFICIENT_BUFFER. Параметр lpcchBuffer получит необходимый размер.

Этот параметр может указать локализованную строку в следующем формате:

@[path]dllname,-strID

Строка с идентификатором strID загружается из dllname; Путь является необязательным. Дополнительные сведения см. в разделе RegLoadMUIString.

Windows Server 2003 и Windows XP: Локализованные строки не поддерживаются до Windows Vista.

[in, out] lpcchBuffer

Указатель на переменную, указывающую размер буфера, на который указывает lpDisplayName, в TCHAR.

В выходных данных эта переменная получает размер отображаемого имени службы в символах, за исключением символа, завершающего значение NULL.

Если буфер, на который указывает lpDisplayName , слишком мал, чтобы содержать отображаемое имя, функция не сохраняет его. При возврате функции lpcchBuffer содержит размер отображаемого имени службы, за исключением завершающего символа со значением NULL.

Возвращаемое значение

Если функции выполняются успешно, возвращаемое значение не равно нулю.

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError.

Комментарии

Служба имеет два имени: имя службы и отображаемое имя. Имя службы — это имя раздела службы в реестре. Отображаемое имя — это понятное имя, которое отображается в приложении панели управления "Службы" и используется с командой NET START . Чтобы сопоставить имя службы с отображаемым именем, используйте функцию GetServiceDisplayName . Чтобы сопоставить отображаемое имя с именем службы, используйте функцию GetServiceKeyName .

Примечание

Заголовок winsvc.h определяет GetServiceDisplayName в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header winsvc.h (включая Windows.h)
Библиотека Advapi32.lib
DLL Advapi32.dll

См. также раздел

Функции службыGetServiceKeyNameOpenSCManager