GetNumaNodeProcessorMaskEx

ノードが属するプロセッサグループに関わらず、ノードのプロセッサマスクを取得する。

GetNumaNodeProcessorMaskEx Node, ProcessorMask

Node : [int] ノード番号。
ProcessorMask : [var] 指定したノードのプロセッサマスクを受け取る GROUP_AFFINITY 構造体へのポインタ。プロセッサマスクは各ビットがプロセッサを表し、それがノード内にあるかを示すビットベクトルである。指定したノードに構成されたプロセッサがない場合、Mask メンバは 0 となり、Group メンバは未定義である。

(プラグイン / モジュール : kernel32.dll)

解説

ノードが属するプロセッサグループに関わらず、ノードのプロセッサマスクを取得する。

[戻り値]
関数が成功した場合の戻り値は 0 以外である。失敗した場合の戻り値は 0 である。

[備考]
GetNumaNodeProcessorMaskEx 関数は GetNumaNodeProcessorMask
と異なり、ノードが属するグループに関わらずノードのプロセッサマスクを取得できる。すなわち、ノードは呼び出し側スレッドと同じグループにある必要はない。GetNumaNodeProcessorMask
関数は呼び出し側スレッドと同じグループにあるノードのプロセッサマスクのみを取得できる。システム内で最も高い番号を持つノードを取得するには、GetNumaHighestNodeNumber
関数を使用する。この番号がシステム内のノードの総数と一致することは保証されないことに注意。プロセスのすべてのスレッドが同じノード上で実行されるようにするには、SetProcessAffinityMask
関数を使用し、同じノード内のプロセッサを指定するプロセスアフィニティマスクを使用する。本関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNT
>= 0x0601 を設定する。詳細は Using the Windows Headers を参照。
> [!NOTE] > *TBD Release Iron* 以降、本関数および他の NUMA 関数の動作は、64
を超えるプロセッサを含むノードを持つシステムをよりよくサポートするように変更されている。本 API
の以前の動作を有効にする方法を含む変更の詳細は [NUMA
Support](/windows/win32/procthread/numa-support) を参照。

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs