Создание метода класса Win32_SystemDriver
Метод CreateWMI class создает новую службу, управляемую системным драйвером. Параметр Win32_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 символов. В базе данных Service Control Manager сохраняется регистр символов, но при сравнении имен служб регистр всегда не учитывается. Косая черта (/) и двойная обратная косая черта (\) являются недопустимыми символами имени службы.
-
DisplayName [in]
-
Отображаемое имя службы. Максимальная длина этой строки равна 256 символам. Имя сохраняется в диспетчере управления службами. Сравнения DisplayName всегда не учитывают регистр.
Ограничения: принимает то же значение, что и параметр Name .
Пример: "Atdisk".
-
PathName [in]
-
Полный путь к исполняемому файлу, который реализует службу.
Пример: "\SystemRoot\System32\drivers\afd.sys".
-
ServiceType [in]
-
Типы служб, предоставляемых процессам, которые их вызывают.
-
1 (0x1)
-
Драйвер ядра
-
2 (0x2)
-
Драйвер файловой системы
-
4 (0x4)
-
Адаптер
-
8 (0x8)
-
Драйвер распознавателя
-
16 (0x10)
-
Собственный процесс
-
32 (0x20)
-
Процесс предоставления общего доступа
-
256 (0x100)
-
Интерактивный процесс
ErrorControl [in]
Серьезность ошибки, если не удается запустить метод Create . Это значение указывает действие, выполняемое программой запуска при сбое. Все ошибки регистрируются системой.
0
"Игнорировать"
Пользователь не получает уведомление.
1
"Normal"
Пользователь получает уведомление.
2
"Суровый"
Система перезапускается в последней известной рабочей конфигурации.
3
"Критический"
Система пытается начать с хорошей конфигурации.
StartMode [in]
Режим запуска базовой службы Windows.
Загрузки
Драйвер устройства, запущенный загрузчиком операционной системы. Это значение допустимо только для служб драйверов.
Системы
Драйвер устройства, запущенный процессом инициализации операционной системы. Это значение допустимо только для служб драйверов.
Автоматически
Служба, автоматически запускаемая диспетчером управления службами во время запуска системы.
Вручную
Служба, запускаемая диспетчером управления службами, когда процесс вызывает метод StartService .
Отключен
Служба, которая больше не может быть запущена.
DesktopInteract [in]
Если значение равно true, служба может создавать окна на рабочем столе или взаимодействовать с ними.
StartName [in]
Имя учетной записи, под которой выполняется служба. В зависимости от типа службы имя учетной записи может быть в формате Имя_домена\Имя_пользователя или Имя участника-пользователя (UPN) (Username@DomainName). При выполнении процесс службы регистрируется с помощью одной из этих двух форм. Если учетная запись принадлежит встроенному домену, можно указать .\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 (один), если запрос не поддерживается, и любое другое число, указывающее на ошибку.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista |
Минимальная версия сервера |
Windows Server 2008 |
Пространство имен |
Root\CIMV2 |
MOF |
|
DLL |
|