Поделиться через


Метод StopService класса Win32_Service (Sdoias.h) для службы терминалов

Метод класса StopServiceWMI помещает службу, представленную объектом Win32_TerminalService, в остановленном состоянии.

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

Синтаксис

uint32 StopService();

Параметры

Этот метод не имеет параметров.

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

Возвращает одно из значений, перечисленных в следующем списке, или любое другое значение, указывающее на ошибку. Дополнительные коды ошибок см. в разделе "Константы ошибок WMI" или WbemErrorEnum. Общие значения HRESULT см. в разделе "Коды системных ошибок".

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

Имя службы содержит недопустимые символы.

21

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

22

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

23

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

24

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

Замечания

После определения того, какие службы можно остановить или приостановить, можно использовать методы StopService и PauseService для остановки и приостановки служб. Решение остановить службу, а не приостановить ее или наоборот, зависит от нескольких факторов, включая следующие:

  • Может ли служба приостановлена? В противном случае единственным вариантом является остановка службы.
  • Нужно ли продолжать обрабатывать запросы клиентов для тех, кто уже подключен к службе? Если это так, приостановка службы обычно позволяет обрабатывать существующие клиенты при запрете доступа к новым клиентам. Напротив, при остановке службы все клиенты немедленно отключаются.
  • Необходимо ли перенастроить службу и немедленно принять изменения? Хотя свойства службы можно изменить во время приостановки службы, большинство из них не вступают в силу, пока служба не будет остановлена и перезапущена.

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

При попытке остановить службу, в которой выполняются зависимые службы, метод StopService завершается ошибкой с возвращаемым значением 3. Сначала необходимо остановить зависимые службы.

При остановке службы немедленно проверка Win32_TerminalService.Свойство состояния, так как значение может по-прежнему отображать службу как запущенную.

Требования

Требование Значение
Минимальная версия клиента
Windows Vista
Минимальная версия сервера
Windows Server 2008
Пространство имен
Root\CIMv2\TerminalServices
Заголовок
Sdoias.h
MOF
TSCfgWmi.mof
DLL-библиотеки
TSCfgWmi.dll

См. также

Win32_Service

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

Win32_TerminalService

Задачи WMI: службы

PauseService