IShellTaskScheduler interface

[IShellTaskScheduler is available for use in the operating systems specified in the Requirements section. It may be altered or unavailable in subsequent versions.]

Exposes methods that enable interaction with, and control of, a task scheduler.


The IShellTaskScheduler interface has these methods.

Method Description
IShellTaskScheduler::AddTask Adds a task to the scheduler's background queue.
IShellTaskScheduler::CountTasks Counts tasks with the same owner ID in the scheduler's queue.
IShellTaskScheduler::RemoveTasks Removes tasks from the scheduler's background queue.
IShellTaskScheduler::Status Sets the release status and background thread timeout for the current task.


This interface does not need to be free-threaded unless the items in the queue interact with the scheduler as well as the main execution thread on which the task scheduler was created.

This interface's class identifier (CLSID) is CLSID_ShellTaskScheduler, and its IID is IID_IShellTaskScheduler.

Windows Server 2003 and Windows XP:  IShellTaskScheduler was declared in Shlobj.h.


Minimum supported client Windows XP [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Target Platform Windows
Header shobjidl_core.h (include Shobjidl.h)