Функция OpenService


Функция OpenService открывает существующую службу. 

Синтаксис

SC_HANDLE OpenService(
  SC_HANDLE hSCManager,
  LPCTSTR lpServiceName,
  DWORD dwDesiredAccess
);

Параметры

hSCManager

[in] Дескриптор базы данных диспетчера управления службой. Функция OpenSCManager возвращает этот дескриптор.

lpServiceName

[in] Указатель на строку с завершающим нулем, которая задает имя открываемой службы. Максимальная длина строки - 256 символов. База данных диспетчера управления службами сохраняет регистр символов, но сравнения имени службы всегда нечувствительны к регистру. Прямой слэш (/) и обратный слэш (\) - неиспользуемые символы имени службы.

dwDesiredAccess

[in] Доступ к службе. Перечень прав доступа см. в статье Защита службы и права доступа.

Перед предоставлением затребованного доступа, система проверяет маркер доступа вызывающего процесса, опираясь на список разграничительного контроля доступа дескриптора безопасности, связанного с объектом службы.

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

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

Если функция завершается ошибкой, возвращаемое значение - значение ПУСТО (NULL). Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError .

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

Код возврата Описание
ERROR_ACCESS_DENIED Дескриптор не имеет доступа к службе.
ERROR_INVALID_HANDLE Указанный дескриптор недействителен.
ERROR_INVALID_NAME Указанное имя службы недействительно.
ERROR_SERVICE_DOES_NOT_EXIST Указанная служба не существует.

Замечания

Возвращенный дескриптор действителен только для процесса, который вызван функцией OpenService. Он может быть закрыт при помощи вызова функции CloseServiceHandle.

Демонстрационный код

Пример смотри в статье Запуск службы.

Смотри также

Обзор Службы, Функции, используемые службами ChangeServiceConfig, CloseServiceHandle, ControlService, CreateService, DeleteService, EnumDependentServices, OpenSCManager, QueryServiceConfig, QueryServiceObjectSecurity, QueryServiceStatusEx, SetServiceObjectSecurity, StartService

Размещение и совместимость OpenService

К Windows XP Да 
л Windows 2000 Professional Да
и Windows NT Workstation Да
е Windows Me Нет
н Windows 98 Нет
т Windows 95 Нет
 
С Windows Server 2003 Да
е Windows 2000 Server Да
р Windows NT Server Да
в    
е    
р    
Используемая библиотека Advapi32.lib
Используемая DLL advapi32.dll
 Заголовочный файл  
- объявлено в Winsvc.h
 - включено в Windows.h
 Unicode Реализуется как OpenServiceW(Unicode) и OpenServiceA (ANSI)
 Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz