An interface to an abstraction of a work scheduler. The Concurrency Runtime's Resource Manager uses this interface to communicate with work schedulers.
Provides a scheduler with a set of virtual processor roots for its use. Each IVirtualProcessorRoot interface represents the right to execute a single thread that can perform work on behalf of the scheduler.
Returns a unique identifier for the scheduler.
Returns a copy of the scheduler's policy. For more information on scheduler policies, see SchedulerPolicy.
Notifies this scheduler that the hardware threads represented by the set of virtual processor roots in the array ppVirtualProcessorRoots are now being used by other schedulers.
Notifies this scheduler that the hardware threads represented by the set of virtual processor roots in the array ppVirtualProcessorRoots are not being used by other schedulers.
Initiates the removal of virtual processor roots that were previously allocated to this scheduler.
Provides information related to task arrival and completion rates, and change in queue length for a scheduler.
If you are implementing a custom scheduler that communicates with the Resource Manager, you should provide an implementation of the IScheduler interface. This interface is one end of a two-way channel of communication between a scheduler and the Resource Manager. The other end is represented by the IResourceManager and ISchedulerProxy interfaces which are implemented by the Resource Manager.