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 值,则 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 |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈