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常量未传递到 flags 参数中,则忽略此参数中指定的值。 如果TASK_RUN_USE_SESSION_ID常量传递到 flags 参数中,并且 sessionID 值小于或等于 0,则将返回无效参数错误。

如果 TASK_RUN_USE_SESSION_ID 常量传递到 flags 参数中,并且 sessionID 值是大于 0 的有效会话 ID,并且未为 user 参数指定值,则任务计划程序服务将尝试以交互方式启动任务,作为登录到指定会话的用户。

如果 TASK_RUN_USE_SESSION_ID 常量传递到 flags 参数中,并且 sessionID 值是大于 0 的有效会话 ID,并且用户在 user 参数中指定了用户,则任务计划程序服务将尝试以交互方式启动任务,作为 在 user 参数中指定的用户。

[in] user

为其运行任务的用户。

[out, optional] ppRunningTask

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

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

返回值

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

注解

此方法将返回且不会出现错误,但如果 ITaskSettings 的 AllowDemandStart 属性设置为 false,则任务将不会运行。

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

要求

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

另请参阅

IRegisteredTask

任务计划程序