SetThreadSelectedCpuSetMasks 函数 (processthreadsapi.h)

设置指定线程的所选 CPU 集分配。 如果设置了进程默认分配,则此分配将替代进程默认分配。

Syntax

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 集集的集。

要求

Requirement 价值
最低支持的客户端 Windows 11
支持的最低服务器 Windows Server 2022
Header processthreadsapi.h
Library kernel32。自由
DLL kernel32.dll