GetNumaNodeProcessorMask 函数 (winbase.h)

检索指定节点的处理器掩码。

语法

BOOL GetNumaNodeProcessorMask(
  [in]  UCHAR      Node,
  [out] PULONGLONG ProcessorMask
);

参数

[in] Node

节点的编号。

[out] ProcessorMask

节点的处理器掩码。 处理器掩码是一个位向量,其中每个位表示一个处理器以及它是否在节点中。

如果节点未配置处理器,则处理器掩码为零。

在处理器数超过 64 的系统上,仅当节点与调用线程位于同一 处理器组中 时,此参数才会设置为节点的处理器掩码。 否则, 参数设置为零。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。

注解

若要检索系统中编号最高的节点,请使用 GetNumaHighestNodeNumber 函数。 请注意,此数字不保证等于系统中的节点总数。

若要确保进程的所有线程在同一节点上运行,请将 SetProcessAffinityMask 函数与指定同一节点中的处理器的进程关联掩码一起使用。

使用 GetNumaNodeProcessorMaskEx 函数检索任何处理器组中节点的处理器掩码。

注意

TBD Release Iron 开始,此函数和其他 NUMA 函数的行为已修改,以更好地支持包含更多 64 个处理器的节点的系统。 有关此更改的详细信息(包括有关启用此 API 的旧行为的信息),请参阅 NUMA 支持

从 TBD Release Iron 开始的行为

系统为每个节点分配一个主组。 GetNumaNodeProcessorMask 返回的掩码适用于节点的主组,仅当调用线程属于该组时才返回。

早期版本中的行为

返回指定节点的掩码。

要求

要求
最低受支持的客户端 Windows Vista、Windows XP Professional x64 Edition、带 SP2 的 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winbase.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

GetNumaNodeProcessorMaskEx

GetNumaProcessorNode

NUMA 支持

进程和线程函数

SetProcessAffinityMask