KeQueryHighestNodeNumber 関数 (wdm.h)
KeQueryHighestNodeNumber ルーチンは、一様でないメモリ アクセス (NUMA) アーキテクチャを持つマルチプロセッサ システムで最も高いノード番号を返します。
構文
USHORT KeQueryHighestNodeNumber();
戻り値
KeQueryHighestNodeNumber は、最も高いノード番号を返します。
備考
非均一メモリ アクセス (NUMA) マルチプロセッサ アーキテクチャでは、ノードはメモリ領域への高速アクセスを共有するプロセッサのコレクションです。 プロセッサは他のノードのメモリにアクセスするよりも高速にノード内のメモリにアクセスできるため、メモリ アクセスは一様ではない。
NUMA マルチプロセッサ システムに n 個の ノード 含まれている場合、ノードには 0 から n-1 までの番号が付けられます。KeQueryHighestNodeNumber は、-1n を返します。 システムに 1 つのノードが含まれている場合、KeQueryHighestNodeNumber 0 が返されます。
システムに NUMA アーキテクチャがない場合、KeQueryHighestNodeNumber は 0 を返します。 非 NUMA アーキテクチャの例として、対称マルチプロセッサ システム (SMP) があります。
Windows は、NUMA マルチプロセッサ システムを初期化すると、ノードに論理プロセッサを割り当て、結果のノードの数をカウントします。 Windows では、ノードの容量は、システムの実行中にノードに追加できる他の論理プロセッサに加えて、システムの起動時に存在するプロセッサの数として定義されます。 初期化中に、Windows がグループに収まるよりも多くの論理プロセッサを含む NUMA ハードウェア ノードを検出した場合、Windows はノードをより小さい論理ノードに分割します。 これらの各ノードは、グループの最大サイズを超えません。 KeQueryHighestNodeNumber によって返される値は、システム内の論理ノードの数を示します。
システムが初期化された後も、システムの実行が続いている間、ノード数は固定されたままになります。 この数には、メモリのみのノードが含まれる場合があります。これは、メモリを含むがアクティブな論理プロセッサを含まないノードです。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 7 以降のバージョンの Windows で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |
ライブラリ | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 任意のレベル |