15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Открытие базы данных SCManager.

Многие операции с сервисами требуют открытия базы данных, т.е. дескриптора объекта SCManager. Ниже представлен пример, который демонстрирует получение этого дескриптора.

Различные операции в базе данных SCM требуют различного уровня доступа и не рекомендуется постоянно запрашивать максимальный уровень доступа к базе. Если запросить SC_MANAGER_ALL_ACCESS и если у Вас не будет прав администратора, то функция OpenSCManager вернёт ошибку. Следующий пример показывает, как получить полный доступ к базе данных активных сервисов на локальной машине.

// Открываем базу сервисов и получаем её дескриптор.

schSCManager = OpenSCManager(
    NULL,                    // локальная машина
    NULL,                    // имя базы (ServicesActive)
    SC_MANAGER_ALL_ACCESS);  // полный доступ

if (schSCManager == NULL)
    MyErrorExit("OpenSCManager");