Функция 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) |
|
| Замечания по платформе |
Не имеется |
|