IScheduler::RemoveVirtualProcessors メソッド

以前にこのスケジューラに割り当てられた仮想プロセッサ ルートの削除を開始します。

virtual void RemoveVirtualProcessors(
   _In_reads_(count) IVirtualProcessorRoot ** ppVirtualProcessorRoots,
   unsigned int count
) =0;

パラメーター

  • ppVirtualProcessorRoots
    削除する仮想プロセッサ ルートを表す IVirtualProcessorRoot インターフェイスの配列。

  • count
    配列内の IVirtualProcessorRoot インターフェイスの数。

解説

リソース マネージャーは、RemoveVirtualProcessors メソッドを呼び出して、スケジューラから一連の仮想プロセッサ ルートを削除します。スケジューラは、仮想プロセッサ ルートの処理後に各インターフェイスで Remove メソッドを呼び出す必要があります。IVirtualProcessorRoot インターフェイスで Remove メソッドを呼び出した後で、そのインターフェイスを使用しないでください。

ppVirtualProcessorRoots パラメーターは、インターフェイスの配列をポイントします。削除する一連の仮想プロセッサ ルートのうち、これまでにアクティブ化されたことのないルートは、Remove メソッドを使用してすぐに返すことができます。アクティブ化されて処理を実行中のルートと、アクティブ化の後に非アクティブ化されて処理の到着を待機しているルートは、非同期的に返す必要があります。スケジューラは、できるだけ早く仮想プロセッサ ルートを削除する必要があります。仮想プロセッサ ルートの削除が遅れると、スケジューラ内で意図しないオーバーサブスクリプションが生じる可能性があります。

必要条件

ヘッダー: concrtrm.h

名前空間: の同時実行

参照

関連項目

IScheduler 構造体

IVirtualProcessorRoot 構造体

IScheduler::RemoveVirtualProcessors メソッド