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


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

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

Синтаксис

BOOL GetServiceDisplayNameW(
  [in]            SC_HANDLE hSCManager,
  [in]            LPCWSTR   lpServiceName,
  [out, optional] LPWSTR    lpDisplayName,
  [in, out]       LPDWORD   lpcchBuffer
);

Параметры

[in] hSCManager

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

[in] lpServiceName

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

[out, optional] lpDisplayName

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

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

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

@[ путь]имени dllname,-strID

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

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

[in, out] lpcchBuffer

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

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

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

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

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

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

Замечания

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

Заметка

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows XP [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка winsvc.h (включая Windows.h)
библиотеки Advapi32.lib
DLL Advapi32.dll

См. также

GetServiceKeyName

OpenSCManager

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