Функция GetServiceDisplayName извлекает отображаемое имя указанной службы.
Синтаксис
BOOL GetServiceDisplayName( SC_HANDLE hSCManager, LPCTSTR lpServiceName, LPTSTR lpDisplayName, LPDWORD lpcchBuffer ); |
hSCManager
[in] Дескриптор базы данных диспетчера управления службами, который возвращается функцией OpenSCManager.lpServiceName
[in] Указатель на строку с завершающим нулем, которая задает имя службы. Это имя - тот же самое, что и имя ключа реестра службы.Максимальный размер этого массива - 4 КБ.
lpDisplayName
[out] Указатель на строку с завершающим нулем, которая получает отображаемое имя службы. Если функция завершается ошибкой, то этот буфер будет иметь в своем составе пустую строку.Максимальный размер этого массива - 4 КБ. Чтобы определить необходимый размер, задайте значение ПУСТО (NULL) для этого параметра и 0 для параметра lpcchBuffer. Функция завершится ошибкой, а GetLastError возвратит ERROR_INSUFFICIENT_BUFFER. Параметр lpcchBuffer получит необходимый размер.
lpcchBuffer
[in, out] Указатель на переменную, которая задает размер буфера, на который указывает lpDisplayName, в TCHARs (символах). При выводе данных, эта переменная получает размер отображаемого имени службы, в TCHARs, исключая завершающий символ нуля.Если буфер, на который указывает lpDisplayName является слишком маленьким, чтобы иметь в своем составе отображаемое имя, функция не хранит его. Когда функция возвращает значение, lpcchBuffer имеет в своем составе размер отображаемого имени службы, исключая символ завершающего нуля.
Если функция завершается ошибкой, возвращаемое значение - нуль. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Есть два имени для службы: имя службы и отображаемое имя. Имя службы - имя ключа службы в реестре. Отображаемое имя - удобное для пользователя имя, которое появляется в приложении Панели управления службами, и используется с командой NET START. Чтобы установить соответствие имени службы отображаемому имени, используйте функцию GetServiceDisplayName. Чтобы установить соответствие отображаемого имени имени службы, используйте функцию GetServiceKeyName.
Обзор Службы, Функции, используемые службами, GetServiceKeyName, OpenSCManager
Размещение и совместимость GetServiceDisplayName |
||
К |
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 |
Реализуется как GetServiceDisplayNameW (Unicode) и GetServiceDisplayNameA (ANSI) |
|
Замечания по платформе |
Не имеется |