次の方法で共有


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

関連項目

GROUP_AFFINITY

GetNumaNodeProcessorMask

NUMA サポート

プロセッサ グループ