GetNumaNodeProcessorMaskEx 函数 (systemtopologyapi.h)

检索节点的处理器掩码,而不考虑该节点所属的处理器组。

语法

BOOL GetNumaNodeProcessorMaskEx(
  [in]  USHORT          Node,
  [out] PGROUP_AFFINITY ProcessorMask
);

参数

[in] Node

节点编号。

[out] ProcessorMask

指向 GROUP_AFFINITY 结构的指针,该结构接收指定节点的处理器掩码。 处理器掩码是一个位向量,其中每个位表示一个处理器以及它是否在节点中。

如果指定的节点未配置处理器,则 Mask 成员为零, 成员未定义。

返回值

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

如果函数失败,则返回值为零。

注解

GetNumaNodeProcessorMaskEx 函数不同于 GetNumaNodeProcessorMask,因为它可以检索节点的处理器掩码,而不考虑节点所属的组。 也就是说,节点不必与调用线程位于同一组中。 GetNumaNodeProcessorMask 函数只能检索与调用线程位于同一组中的节点的处理器掩码。

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

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

若要编译使用此函数的应用程序,请设置 _WIN32_WINNT>= 0x0601。 有关详细信息,请参阅 使用 Windows 标头

注意

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

从 TBD Release Iron 开始的行为

系统为每个节点分配一个主组。 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 支持

处理器组