GetNumaNodeProcessorMaskEx 関数 (systemtopologyapi.h)
ノードが属しているプロセッサ グループに関係なく、ノードのプロセッサ マスクを取得します。
構文
BOOL GetNumaNodeProcessorMaskEx(
[in] USHORT Node,
[out] PGROUP_AFFINITY ProcessorMask
);
パラメーター
[in] Node
ノード番号。
[out] ProcessorMask
指定したノードのプロセッサ マスクを受け取る GROUP_AFFINITY 構造体へのポインター。 プロセッサ マスクは、各ビットがプロセッサを表し、それがノード内にあるかどうかを表すビット ベクトルです。
指定したノードにプロセッサが構成されていない場合、Mask メンバーは 0 になり、グループ メンバーは未定義になります。
戻り値
関数が成功した場合、戻り値は 0 以外です。
関数が失敗した場合、戻り値は 0 です。
備考
GetNumaNodeProcessorMaskEx 関数は、GetNumaNodeProcessorMask とは異なり、ノードが属するグループに関係なく、ノードのプロセッサ マスクを取得できます。 つまり、ノードが呼び出し元のスレッドと同じグループに存在する必要はありません。 GetNumaNodeProcessorMask 関数は、呼び出し元のスレッドと同じグループ内のノードに対してのみプロセッサ マスクを取得できます。
システム内の最も高い番号のノードを取得するには、GetNumaHighestNodeNumber 関数を使用します。 この数は、システム内のノードの合計数と等しいとは限りません。
プロセスのすべてのスレッドが同じノードで確実に実行されるようにするには、SetProcessAffinityMask 関数と、同じノード内のプロセッサを指定するプロセス アフィニティ マスクを使用します。
この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNT>= 0x0601を設定します。 詳細については、「Windows ヘッダーの使用」を参照してください。
手記
TBD リリース Iron以降では、この関数とその他の NUMA 関数の動作が変更され、その 64 個のプロセッサを含むノードを含むシステムのサポートが向上しました。 この API の古い動作の有効化に関する情報など、この変更の詳細については、「NUMA サポート」を参照してください。
TBD リリース Iron 以降の動作
各ノードには、システムによってプライマリ グループが割り当てられます。 GetNumaNodeProcessorMaskEx によって返される GROUP_AFFINITY は、ノードのプライマリ グループ用です。
以前のバージョンでの動作
指定したノードの GROUP_AFFINITY が返されます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 7 [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2008 R2 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | systemtopologyapi.h (Windows.h を含む) |
ライブラリ | Kernel32.lib |
DLL | Kernel32.dll |
関連項目
GetNumaNodeProcessorMask の