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_NULLVT_EMPTY。 否则,可以指定单个 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 的有效会话 ID,并且 用户 参数未指定任何值,则任务计划程序服务将尝试在登录到指定会话的用户时以交互方式启动任务。

如果将 TASK_RUN_USE_SESSION_ID 常量传入 标志 参数,而 sessionID 值是大于 0 的有效会话 ID,并且如果用户在 用户 参数中指定,则任务计划程序服务将尝试以交互方式启动任务,就像在 用户 参数中指定的用户一样。

[in] user

运行任务的用户。

[out, optional] ppRunningTask

IRunningTask 接口,用于定义任务的新实例。

传入对 NULLIRunningTask 接口指针的引用。 引用非NULL 指针可能会导致内存泄漏,因为该指针将被覆盖。

返回值

如果此方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。

言论

如果 iTaskSettings 的 AllowDemandStart 属性设置为 false,此方法将返回且不会运行该任务。

如果从禁用的任务调用 IRegisteredTask::RunEx,它将返回S_OK,但不会运行该任务。

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
目标平台 窗户
标头 taskschd.h
Taskschd.lib
DLL Taskschd.dll

另请参阅

IRegisteredTask

任务计划程序