Функция OpenService.
Функция OpenService открывает существующий
сервис.
SC_HANDLE OpenService(
SC_HANDLE hSCManager,
LPCTSTR lpServiceName,
DWORD dwDesiredAccess
);
Параметры
- hSCManager
- Дескриптор базы данных менеджера управления
сервисами. Этот дескриптор можно получить при
помощи функции OpenSCManager.
- lpServiceName
- Указатель на строку (заканчивающуюся нулевым
символом), содержащую имя открываемого сервиса.
Длина строки не должна превышать 256 символов.
- dwDesiredAccess
- Тип доступа к сервису. См. Безопасность
сервисов и типы доступа.
Перед тем, как
разрешить доступ к сервису, система проверяет
права процесса, из которого пришёл запрос.
Возвращаемое значение
В случае успеха, функция возвращает дескриптор
сервиса.
В случае ошибки, функция вернёт NULL. Для
получения более подробной информации об ошибке,
можно воспользоваться функцией GetLastError.
В следующей таблице приведены стандартные коды
ошибок:
Значение |
Описание |
ERROR_ACCESS_DENIED |
Дескриптор не емеет достаточных прав
для доступа к сервису. |
ERROR_INVALID_HANDLE |
Указан неправильный дескриптор. |
ERROR_INVALID_NAME |
Указано неправильное имя сервиса. |
ERROR_SERVICE_DOES_NOT_EXIST |
Указанный сервис не существует. |
Замечания
Полученный дескриптор будет действовать
только для того процесса, который вызвал OpenService.
Закрыть дескриптор можно при помощи функции CloseServiceHandle.
Пример
См. Запуск сервиса.
Дополнительная информация
Windows NT/2000/XP: Присутствует начиная с Windows NT 3.1 и
выше.
Unicode: Существует как Unicode, так и ANSI версия этой
функции.
Заголовок: Объявлена в Winsvc.h; включена в Windows.h.
Библиотека: Advapi32.lib.
|