ITopologyNode 構造体
リソース マネージャーで定義されるトポロジ ノードへのインターフェイスです。 ノードには 1 つ以上の実行リソースが含まれます。
構文
struct ITopologyNode;
メンバー
パブリック メソッド
名前 | 説明 |
---|---|
ITopologyNode::GetExecutionResourceCount | このノードの下にグループ化されている実行リソースの数を返します。 |
ITopologyNode::GetFirstExecutionResource | このノードの下にグループ化されている実行リソースのうち、列挙順で最初のものを返します。 |
ITopologyNode::GetId | リソース マネージャーの、このノードに対する一意の識別子を返します。 |
ITopologyNode::GetNext | 列挙順で次のトポロジ ノードへのインターフェイスを返します。 |
ITopologyNode::GetNumaNode | Windows が割り当てた、このリソース マネージャー ノードが属する、NUMA ノードの数を返します。 |
解説
このインターフェイスは、通常、リソース マネージャーがシステムを観察するためにトポロジ内を進む際に使用されます。
継承階層
ITopologyNode
要件
ヘッダー: concrtrm.h
名前空間: concurrency
ITopologyNode::GetExecutionResourceCount メソッド
このノードの下にグループ化されている実行リソースの数を返します。
virtual unsigned int GetExecutionResourceCount() const = 0;
戻り値
このノードの下にグループ化されている実行リソースの数。
ITopologyNode::GetFirstExecutionResource メソッド
このノードの下にグループ化されている実行リソースのうち、列挙順で最初のものを返します。
virtual ITopologyExecutionResource *GetFirstExecutionResource() const = 0;
戻り値
このノードの下にグループ化されている実行リソースのうち、列挙順で最初のもの。
ITopologyNode::GetId メソッド
リソース マネージャーの、このノードに対する一意の識別子を返します。
virtual unsigned int GetId() const = 0;
戻り値
リソース マネージャーの、このノードに対する一意の識別子。
解説
この同時実行ランタイムは、システム上のプロセッサ ノード グループ内のハードウェア スレッドを表します。 ノードは通常、システムのハードウェア トポロジから派生します。 たとえば、特定のソケットまたは特定の NUMA ノード上のすべてのプロセッサは、同じプロセッサ ノードに属すことができます。 リソース マネージャーは、0
から nodeCount - 1
まで (nodeCount - 1 を含む) の一意識別子をこれらのノードに割り当てます。ここで、nodeCount
はシステム上のプロセッサ ノードの総数を表します。
ノードの数は、GetProcessorNodeCount 関数から取得できます。
ITopologyNode::GetNext メソッド
列挙順で次のトポロジ ノードへのインターフェイスを返します。
virtual ITopologyNode *GetNext() const = 0;
戻り値
列挙順で次のノードへのインターフェイス。 システム トポロジの列挙順でノードがこれ以上ない場合、このメソッドは NULL
値を返します。
ITopologyNode::GetNumaNode メソッド
Windows が割り当てた、このリソース マネージャー ノードが属する、NUMA ノードの数を返します。
virtual unsigned long GetNumaNode() const = 0;
戻り値
Windows が割り当てた、このリソース マネージャー ノードが属する、NUMA ノードの数。
解説
このノードに属する仮想プロセッサ ルートで実行中のスレッド プロキシは、このメソッドが返す NUMA ノードに、少なくとも NUMA ノードのレベルで関係があります。