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