SetThreadSelectedCpuSetMasks 函数 (processthreadsapi.h)
设置指定线程的所选 CPU 集分配。 如果设置了此分配,则此分配将替代进程默认分配。
语法
BOOL SetThreadSelectedCpuSetMasks(
HANDLE Thread,
PGROUP_AFFINITY CpuSetMasks,
USHORT CpuSetMaskCount
);
参数
Thread
指定要设置 CPU 集分配的线程。 PROCESS_SET_LIMITED_INFORMATION 访问权限。 也可以在此处指定 GetCurrentProcess 返回的值。
CpuSetMasks
指定 GROUP_AFFINITY 结构的可选缓冲区,这些结构表示要设置为线程所选 CPU 集的 CPU 集。 如果此为 NULL,SetThreadSelectedCpuSetMasks 函数会清除任何分配,如果设置了默认分配,则还原以处理默认分配。
CpuSetMaskCount
指定在 GroupCpuSets 参数中传递的列表中 GROUP_AFFINITY 结构的数目。 如果缓冲区为 NULL,则此值必须为零。
返回值
如果该函数成功,则返回值为非零值。
如果函数失败,则返回值为零,可以通过调用 GetLastError 检索扩展错误信息。
注解
此函数类似于 SetThreadSelectedCpuSets,只不过它使用组相关性而不是 CPU 集 ID 来表示 CPU 集的列表。 这意味着生成的线程选择的 CPU 集分配是提供的组相关性列表中具有主处理器的所有 CPU 集的集合。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 11 |
最低受支持的服务器 | Windows Server 2022 |
标头 | processthreadsapi.h |
DLL | Kernel32.dll |