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


Метод IRegisteredTask::RunEx (taskschd.h)

Выполняет зарегистрированную задачу немедленно с помощью указанных флагов и идентификатора сеанса.

Синтаксис

HRESULT RunEx(
  [in]            VARIANT      params,
  [in]            LONG         flags,
  [in]            LONG         sessionID,
  [in]            BSTR         user,
  [out, optional] IRunningTask **ppRunningTask
);

Параметры

[in] params

Параметры, используемые в качестве значений в действиях задачи. Чтобы не указывать значения параметров для действий задачи, задайте для этого параметра значение VT_NULL или VT_EMPTY. В противном случае можно указать одно значение BSTR или массив значений BSTR.

Указанные значения BSTR BSTR связаны с именами и хранятся в виде пар "имя-значение". Если указать одно значение BSTR, то Arg0 будет именем, назначенным значению. Значение можно использовать в действии задачи, где переменная $(Arg0) используется в свойствах действия.

Если вы передаете такие значения, как "0", "100" и "250" в виде массива значений BSTR , то "0" заменит переменные $(Arg0), "100" заменит переменные $(Arg1) и "250" заменит переменные $(Arg2), которые используются в свойствах действия.

Можно указать не более 32 значений BSTR.

Дополнительные сведения и список свойств действий, которые могут использовать переменные $(Arg0), $(Arg1), ..., $(Arg32) в их значениях, см. в действий задач.

[in] flags

Константа TASK_RUN_FLAGS, которая определяет, как выполняется задача.

[in] sessionID

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

Если константы TASK_RUN_USE_SESSION_ID не передаются в параметр флагов, то значение, указанное в этом параметре, игнорируется. Если константа TASK_RUN_USE_SESSION_ID передается в флаги и значение sessionID меньше или равно 0, будет возвращена ошибка недопустимого аргумента.

Если константы TASK_RUN_USE_SESSION_ID передаются в параметр флагов, а значение sessionID — допустимый идентификатор сеанса, превышающий 0, и если для параметра пользователя нет значения, служба планировщика задач попытается запустить задачу интерактивно, так как пользователь, вошедший в указанный сеанс.

Если константа TASK_RUN_USE_SESSION_ID передается в параметр флаги, а значение sessionID — допустимый идентификатор сеанса, превышающий 0, а если пользователь указан в параметре пользователя, служба планировщика задач попытается запустить задачу в интерактивном режиме, так как пользователь, указанный в параметре пользователя.

[in] user

Пользователь, для которого выполняется задача.

[out, optional] ppRunningTask

Интерфейс IRunningTask, определяющий новый экземпляр задачи.

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

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

Если этот метод выполнен успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT.

Замечания

Этот метод возвращается без ошибок, но задача не будет выполняться, если свойство AllowDemandStart ITaskSettings имеет значение false для задачи.

Если IRegisteredTask::RunEx вызывается из отключенной задачи, она вернет S_OK, но задача не будет выполняться.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows Vista [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2008 [только классические приложения]
целевая платформа Виндоус
заголовка taskschd.h
библиотеки Taskschd.lib
DLL Taskschd.dll

См. также

IRegisteredTask

планировщик задач