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 |