次の方法で共有


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

名前空間: Concurrency

参照

参照

IResourceManager 構造体

IScheduler 構造体

ISchedulerProxy 構造体

SchedulerPolicy クラス

PolicyElementKey 列挙型