Создание метода класса Win32_BaseService

Метод класса CreateWMI создает новую службу. Параметр LoadOrderGroup представляет группу системных служб, определяющих зависимости выполнения. Службы должны быть инициированы в порядке, определенном группой заказов загрузки, так как службы зависят друг от друга. Для правильной работы этих зависимых служб требуется наличие предшествующих служб.

В этом разделе используется синтаксис MOF. Дополнительные сведения об использовании этого метода см. в разделе Вызов метода .

Синтаксис

uint32 Create(
  [in] string  Name,
  [in] string  DisplayName,
  [in] string  PathName,
  [in] uint8   ServiceType,
  [in] uint8   ErrorControl,
  [in] string  StartMode,
  [in] boolean DesktopInteract,
  [in] string  StartName,
  [in] string  StartPassword,
  [in] string  LoadOrderGroup,
  [in] string  LoadOrderGroupDependencies[],
  [in] string  ServiceDependencies[]
);

Параметры

Имя [in]

Имя службы, устанавливаемой в метод Create . Максимальная длина строки — 256 символов. В базе данных диспетчера управления службами сохраняется регистр символов, но при сравнении имен служб регистр всегда не учитывается. Косая черта (/) и двойная обратная косая черта (\) являются недопустимыми символами имени службы.

DisplayName [in]

Отображаемое имя службы. Максимальная длина этой строки равна 256 символам. Имя сохраняется в диспетчере управления службами. Сравнения DisplayName всегда не учитывают регистр.

Ограничения: принимает то же значение, что и параметр Name .

Пример: "Atdisk".

PathName [in]

Полный путь к исполняемому файлу, который реализует службу.

Пример: "\SystemRoot\System32\drivers\afd.sys".

ServiceType [in]

Типы служб, предоставляемых процессам, которые их вызывают. Значением является растровое изображение.

Драйвер ядра (1)

Драйвер файловой системы (2)

Адаптер (4)

Драйвер распознавателя (8)

Собственный процесс (16)

Процесс предоставления общего доступа (32)

256

Интерактивный процесс

ErrorControl [in]

Серьезность ошибки, если не удается запустить метод Create . Значение указывает действие, выполняемое программой запуска в случае сбоя. Все ошибки регистрируются системой.

Игнорировать (0)

Пользователь не получает уведомление.

Обычный (1)

Пользователь получает уведомление.

Тяжелый (2)

Система перезапускается в последней известной рабочей конфигурации.

Критический (3)

Система пытается начать с хорошей конфигурации.

StartMode [in]

Режим запуска базовой службы Windows.

Начальная загрузка ("Загрузка")

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

Запуск системы ("Система")

Драйвер устройства, запущенный процессом инициализации операционной системы. Это значение допустимо только для служб драйверов.

Автозапуск ("Автоматический")

Служба запускается автоматически диспетчером управления службами во время запуска системы.

Demand Start ("Manual")

Служба, запускаемая диспетчером управления службами, когда процесс вызывает метод StartService .

Disabled ("Disabled")

Служба, которая больше не может быть запущена.

DesktopInteract [in]

Если значение равно true, служба может создавать окна на рабочем столе или взаимодействовать с ними.

StartName [in]

Имя учетной записи, под которой выполняется служба. В зависимости от типа службы имя учетной записи может иметь вид "Имя_домена\Имя_пользователя". При выполнении процесс службы регистрируется с помощью одной из этих двух форм. Если учетная запись принадлежит встроенному домену, можно указать .\Username. Если задано значение NULL , служба входит в систему под учетной записью LocalSystem. Для драйверов ядра или системного уровня StartName содержит имя объекта драйвера (т. е. \FileSystem\Rdr или \Driver\Xns), которое система ввода-вывода использует для загрузки драйвера устройства. Если задано значение NULL , драйвер выполняется с именем объекта по умолчанию, созданным системой ввода-вывода на основе имени службы. Пример: DWDOM\Администратор.

StartPassword [in]

Пароль для имени учетной записи, указанной параметром StartName . Если вы не изменяете пароль, укажите ЗНАЧЕНИЕ NULL . Если служба не имеет пароля, указывается пустая строка.

LoadOrderGroup [in]

Имя группы, связанной с новой службой. Группы порядка загрузки содержатся в реестре и определяют последовательность загрузки служб в операционную систему. Если указатель имеет значение NULL или указывает на пустую строку, служба не принадлежит к группе. Зависимости между группами должны быть перечислены в параметре LoadOrderGroupDependencies . Сначала запускаются службы в списке групп упорядочения нагрузки, а затем службы в группах, которых нет в списке групп упорядочения нагрузки, а затем службы, не принадлежащие группе. Реестр содержит список групп упорядочения загрузки, расположенных по адресу:

HKEY_LOCAL_MACHINE\Системы\CurrentControlSet\Управления\ServiceGroupOrder

LoadOrderGroupDependencies [in]

Массив групп упорядочения нагрузки, которые должны запускаться перед этой службой. Каждый элемент в массиве разделен значением NULL , а список завершается двумя значениями NULL . В Visual Basic или скрипте можно передать vbArray. Если указатель имеет значение NULL или указывает на пустую строку, служба не имеет зависимостей. Имена групп должны иметь префикс с помощью символа SC_GROUP_IDENTIFIER (определенного в файле Winsvc.h), чтобы отличать их от имени службы, так как службы и группы служб используют одно и то же пространство имен. Зависимость от группы означает, что эта служба может запускаться, если хотя бы один член группы работает после попытки запустить всех участников группы.

ServiceDependencies [in]

Массив, содержащий имена служб, которые должны запускаться перед запуском этой службы. Каждый элемент в массиве разделен значением NULL , а список завершается двумя значениями NULL . В Visual Basic или скрипте можно передать vbArray. Если указатель имеет значение NULL или указывает на пустую строку, служба не имеет зависимостей. Зависимость от службы означает, что эта служба может выполняться только в том случае, если запущена служба, от которую она зависит.

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

Возвращает одно из значений, перечисленных в следующем списке, или любое другое значение, указывающее на ошибку.

Успешно

0

Запрос принят.

Не поддерживается

1

Запрос не поддерживается.

доступ запрещен

2

У пользователя не было необходимого доступа.

Запущенные зависимые службы

3

Службу нельзя остановить, так как от нее зависят другие работающие службы.

Недопустимый элемент управления службой

4

Запрошенный управляющий код недопустим или неприемлем для данной службы.

Служба не может принимать управление

5

Запрошенный код элемента управления не может быть отправлен в службу, так как состояние службы (Win32_BaseService. Свойство State ) равно 0, 1 или 2.

Служба не активна

6

Служба не запущена.

Время ожидания запроса на обслуживание

7

Служба не ответила на запрос запуска за отведенное время.

Неизвестный сбой

8

Интерактивный процесс.

Путь не найден

9

Путь к каталогу к исполняемому файлу службы не найден.

Служба уже запущена

10

Служба уже запущена.

База данных службы заблокирована

11

База данных для добавления новой службы заблокирована.

Удалена зависимость службы

12

Служба, от которой зависит эта служба, была удалена из системы.

Сбой зависимости службы

13

Этой службе не удалось найти службу, которая необходима зависимой службе.

Служба отключена

14

Эта служба была отключена в системе.

Сбой входа в службу

15

Эта служба не поддерживает проверку подлинности, необходимую для работы в системе.

Служба помечена для удаления

16

Эта служба удаляется из системы.

Поток без службы

17

Отсутствует поток исполнения для этой службы.

Циклическая зависимость состояния

18

При запуске службы обнаружены циклические зависимости.

Повторяющееся имя состояния

19

Служба с таким именем уже запущена.

Недопустимое имя состояния

20

В имени службы есть недопустимые символы.

Недопустимый параметр status

21

Службе переданы недопустимые параметры.

Состояние недопустимой учетной записи службы

22

Учетная запись, в которой выполняется эта служба, является недопустимой или не имеет разрешений на запуск службы.

Служба состояния существует

23

Служба существует в базе данных доступных в системе служб.

Служба уже приостановлена

24

Служба в данный момент приостановлена в системе.

Другое

25 4294967295

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Пространство имен
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

См. также раздел

Классы операционной системы

Win32_BaseService