IShellTaskScheduler::AddTask 方法 (shobjidl_core.h)

将任务添加到计划程序后台队列。

语法

HRESULT AddTask(
  [in] IRunnableTask  *prt,
  [in] REFTASKOWNERID rtoid,
  [in] DWORD_PTR      lParam,
  [in] DWORD          dwPriority
);

参数

[in] prt

类型: IRunnableTask*

指向 IRunnableTask 接口实例的指针,该接口表示要添加到队列中的任务。

[in] rtoid

类型: REFTASKOWNERID

标识任务所有者的 GUID。 此信息可用于对任务进行分组,以便以后按所有者进行计数或删除

[in] lParam

类型: DWORD_PTR

指向用户定义的 DWORD 值的指针,允许在 rtoid 拥有的任务中标识任务。 这用于标识单个任务或对其进行子分组,例如将任务与特定项(如 ListView 中的项)相关联。 此参数可以为零。

[in] dwPriority

类型:DWORD

分配任务优先级的以下值之一。 对此优先级的响应取决于正在执行的其他任务的配合。 新任务按优先级顺序插入队列中。 如果在添加较高优先级的任务时,低优先级任务当前正在执行,则计划程序会尝试挂起正在执行的任务。 当高优先级任务 () 完成时,优先级较低的任务将恢复。

ITSAT_DEFAULT_PRIORITY

接受计划程序分配给任务的默认优先级。

ITSAT_MAX_PRIORITY

高优先级。

ITSAT_MIN_PRIORITY

低优先级。

返回值

类型: HRESULT

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

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (5.0 或更高版本)