Функция OpenSCManager

Declare Function OpenSCManager Lib "advapi32.dll" Alias "OpenSCManagerA" ( _
        ByVal lpMachineName As String, _
        ByVal lpDatabaseName As String, _
        ByVal dwDesiredAccess As Long) As Long

OpenSCManager устанавливает связь с менеджером управления службами на заданном компьютере и открывает его базу данных.

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

В случае успеха, функция возвращает дескриптор базы данных менеджера управления службами. Использовать дескриптор может только тот процесс, который вызвал функцию OpenSCManager. Закрыть его можно при помощи функции CloseServiceHandle. В случае ошибки функция вернёт NULL. Для получения более подробной информации об ошибке используйте функцию GetLastError. Вот некоторые коды ошибок
ERROR_ACCESS_DENIEDДоступ с указанными правами запрещён.
ERROR_DATABASE_DOES_NOT_EXISTУказанная база данных не существует.
ERROR_INVALID_PARAMETERНе правильный параметр

Параметры

lpMachineName
Имя компьютера. Если этот параметр равен NULL или указывает на пустую строку (""), то используется менеджер управления службами на локальном компьютере
lpDatabaseName
Имя открываемой базы данных менеджера управления службами. Этот параметр должен быть равен SERVICES_ACTIVE_DATABASE. Если этот параметр равен NULL, то по умолчанию будет открыта база SERVICES_ACTIVE_DATABASE
dwDesiredAccess
Права доступа к менеджеру управления службами. Перед тем, как разрешить доступ с запрошенными правами, система проверяет права запросившего процесса и сверяет их со списком в менеджере управления службами. По умолчанию, при вызове этой функции установлено право SC_MANAGER_CONNECT

Пример

смотри пример ServicesStopPauseStart.zip

Смотри также

CloseServiceHandle, CreateService, EnumServicesStatus, LockServiceDatabase, OpenService, QueryServiceLockStatus

Категория

Службы