IResourceManager::RegisterScheduler 方法

向资源管理器注册计划程序。 注册计划程序后,它应该使用返回的 ISchedulerProxy 接口与资源管理器进行通信。

virtual ISchedulerProxy *RegisterScheduler(
   IScheduler * pScheduler,
   unsigned int version
) =0;

参数

  • pScheduler
    要进行注册的计划程序的 IScheduler 接口。

  • version
    计划程序用于与资源管理器通信的通信接口版本。 使用版本允许资源管理器演化通信接口,同时让计划程序获得旧功能的访问权限。 想要使用 Visual Studio 2010 中提供的资源管理器功能的计划程序应使用版本 CONCRT_RM_VERSION_1

返回值

资源管理器与您的计划程序关联的 ISchedulerProxy 接口。 您的计划程序应使用此接口从该点与资源管理器通信。

备注

使用此方法启动与资源管理器的通信。 该方法将计划程序的 IScheduler 接口与 ISchedulerProxy 接口相关联,并将该接口返回给您。 可使用返回的接口来请求计划程序使用的执行资源,或者使用资源管理器订阅线程。 资源管理器将使用 IScheduler::GetPolicy 方法返回的来自计划程序策略的策略元素来确定计划程序将需要执行工作的线程类型。 如果您的 SchedulerKind 策略键具有值 UmsThreadDefault ,并且从该策略中读回时该值为 UmsThreadDefault,那么传递给该方法的 IScheduler 接口必须是 IUMSScheduler 接口。

如果参数 pScheduler 的值为 NULL 或如果参数 version 不是通信界面的有效版本,则方法会引发 invalid_argument 异常。

要求

**标头:**concrtrm.h

命名空间: 并发

请参见

参考

IResourceManager 结构

IScheduler 结构

ISchedulerProxy 结构

SchedulerPolicy 类

PolicyElementKey 枚举