Диспетчер управления службами (SCM) поддерживает типы дескрипторов, которые дают доступ к ниже перечисленным объектам.
Объект SCManager обозначает базу данных установленных служб. Это - объект-контейнер, который содержит сервисные объекты. Функция OpenSCManager возвращает дескриптор объекта SCManager в указанном компьютере. Этот дескриптор используется при установке, удалении, открытии и перечислении служб и при блокировке базы данных служб.
Сервисный объект представляет установленную службу. Функции CreateService и OpenService возвращает дескриптор установленных услуг.
Функции OpenSCManager, CreateService и OpenService могут запросить различные типы доступа к SCManager и сервисным объектам. Требуемый доступ предоставляется или отклоняется в зависимости от маркера доступа вызывающего процесса и дескриптора безопасности, связанного с SCManager или сервисным объектом.
Функция CloseServiceHandle закрывает дескрипторы SCManager и сервисных объектов. Когда Вам больше не нужны эти дескрипторы, убедитесь, что закрыли их.
Заблокированный объект создается в ходе инициализации Диспетчера управления службами (SCM), чтобы преобразовать в последовательную форму доступ к базе данных установленных служб. Диспетчер управления службами (SCM) получает блокировку перед запуском службы или сервисного драйвера. Сервисные программы конфигурации используют функцию LockServiceDatabase, чтобы получить блокировку перед реконфигурированием службы и используют функцию UnlockServiceDatabase, чтобы отменить блокировку.